java数据结构

合集下载

数据结构-Java语言描述 第三章 栈和队列

数据结构-Java语言描述 第三章 栈和队列

System.exit(1);
}
栈顶指针top的初始值决
top=-1;
定了后续其他方法的实现
stackArray=(T[])new Object[n];
}
【算法3-2】入栈
public void push(T obj)
{
if(top==stackArray.length-1){
T []p=(T[])new Object [top*2];
(b)元素a2入栈
an … … a2 a1
(c)元素an入栈
an-1 … a2 a1
(d)元素an出栈
a2 a1
(e)元素a3出栈
a1
(f)元素a2出栈
【例3-1】一个栈的输入序列是1、2、3、4、5,若在 入栈的过程中允许出栈,则栈的输出序列4、3、5、1、 2可能实现吗?1、2、3、4、5的输出呢?
型 正序遍历:依次访问栈中每个元素并输出
3.1.2 顺序栈
顺序栈泛型类的定义如下:
public class sequenceStack<T> {
顺序栈中一维数组 的初始长度
final int MaxSize=10;
private T[] stackArray; 存储元素的数组对象
private int top;
public void nextOrder() {
for(int i=top;i>=0;i--) System.out.println(stackArray[i]);
}
【算法3-8】清空栈操作
public void clear() {
top=-1; }
3.1.3 链栈
栈的链接存储结构称为链栈。结点类的定义,同 第二章Node类。

java数据结构笔试题目

java数据结构笔试题目

java数据结构笔试题目Java数据结构笔试题目⒈数组●数组的基本概念●数组的声明和初始化●数组的访问和修改●多维数组●数组的常见操作(排序、查找、插入、删除)⒉链表●链表的基本概念●链表的实现(单链表、双链表、循环链表)●链表的插入和删除●链表的反转●链表的常见操作(查找、更新、合并)⒊栈和队列●栈的基本概念和特点●栈的实现和应用●队列的基本概念和特点●队列的实现和应用●栈和队列的比较⒋树●树的基本概念和术语●二叉树的基本概念和实现●二叉树的遍历(前序、中序、后序)●二叉搜索树●平衡二叉树和红黑树⒌图●图的基本概念和术语●图的表示方法(邻接矩阵、邻接表)●图的遍历算法(深度优先搜索、广度优先搜索)●最短路径算法(Dijkstra、Floyd-Warshall)●最小树算法(Prim、Kruskal)⒍散列表●散列函数的定义和特点●散列表的基本概念和实现●冲突解决方法(开放寻址法、链表法)●散列表的性能分析和优化●哈希算法和应用⒎堆●堆的基本概念和特点●堆的实现(二叉堆、斐波那契堆)●堆的应用(优先队列、堆排序)●堆的性能分析和优化●堆与其他数据结构的联系⒏排序算法●冒泡排序●插入排序●选择排序●快速排序●归并排序●堆排序●希尔排序●桶排序和基数排序⒐搜索算法●顺序搜索●二分搜索●插值搜索●哈希搜索●广度优先搜索●深度优先搜索●A搜索算法⒑字符串匹配算法●暴力匹配算法●KMP算法●Boyer-Moore算法●Rabin-Karp算法●后缀树和后缀数组1⒈复杂度分析●时间复杂度●空间复杂度●最好、最坏和平均情况复杂度●复杂度的比较和选择●复杂度分析的实例附件:无法律名词及注释:⒈版权:著作权法所赋予作品创作者对其原创作品的独占权利。

⒉商标:商标法所保护的一种标识,用于区分和识别特定商品或服务的来源。

⒊专利:专利法所赋予的一种权利,用于保护发明者的发明创造,限制他人在专利权期限内制造、使用、销售、进口该发明。

java中常用的数据结构

java中常用的数据结构

java中常用的数据结构
Java中常用的数据结构有:
1. 数组(Array):一组具有相同类型的数据元素的集合,通
过索引来访问元素。

2. 链表(LinkedList):由若干个节点组成,每个节点包含数
据和指向下一个节点的指针。

3. 栈(Stack):一种后进先出(LIFO)的数据结构,只允许
在栈顶进行插入和删除操作。

4. 队列(Queue):一种先进先出(FIFO)的数据结构,只允
许在队头和队尾进行插入和删除操作。

5. 集合(Set):一种不允许重复元素的数据结构,常见的实
现类有HashSet和TreeSet。

6. 列表(List):一种有序的数据结构,允许重复元素,常见
的实现类有ArrayList和LinkedList。

7. 字典(Map):一种键值对的数据结构,以键作为唯一标识
符来存储和访问元素,常见的实现类有HashMap和TreeMap。

8. 堆(Heap):一种可以快速找到最大值(或最小值)的数
据结构,常用于优先队列的实现。

9. 树(Tree):一种层次关系的数据结构,包含根节点、子节
点和叶子节点等。

10. 图(Graph):由节点和节点之间的关系(边)组成的数据结构,常用于描述网络等复杂关系。

这些数据结构在Java中都有对应的类或接口,可以根据具体
的需求选择合适的数据结构来使用。

数据结构教程java语言描述李春葆程序

数据结构教程java语言描述李春葆程序

数据结构教程java语言描述李春葆程序摘要:1.数据结构教程概述2.Java语言描述数据结构的优点3.李春葆程序的特点与结构4.教程内容的详细介绍4.1 线性表4.2 栈与队列4.3 树与二叉树4.4 图4.5 排序算法4.6 查找算法5.教程在实际应用中的价值6.对李春葆程序的评价与展望正文:数据结构教程是一门计算机科学与技术专业的基础课程,旨在帮助学生掌握各种常用的数据结构和算法。

近年来,Java语言因其跨平台特性、丰富的类库和简洁的语法,成为了许多开发者编写数据结构教程的首选。

在这样的背景下,李春葆程序以Java语言为基础,为广大学习者提供了一部全面、易懂的数据结构教程。

Java语言描述数据结构的优点在于,它允许开发者直接使用面向对象的特性来表示各种数据结构,使得代码更加直观、易于理解。

此外,Java语言丰富的类库提供了许多现成的方法,方便开发者实现各种操作,从而降低了学习难度。

李春葆程序采用了模块化的设计,将教程划分为线性表、栈与队列、树与二叉树、图、排序算法和查找算法六个部分,每个部分自成体系,方便学习者根据自己的需求进行选择。

教程在讲解每个数据结构时,都从基本概念入手,通过实例和图解,让学习者逐步掌握其原理和应用。

此外,教程还提供了丰富的练习题,帮助学习者巩固所学知识。

在实际应用中,数据结构教程可以帮助开发者更好地理解各种算法和数据结构的原理,从而提高编程效率。

例如,掌握排序算法可以让我们在处理大量数据时更加得心应手;了解树结构可以方便我们实现文件系统、数据库等复杂系统。

总之,数据结构教程是计算机科学与技术专业学生必备的技能。

总的来说,李春葆程序的数据结构教程是一部内容全面、讲解清晰、实例丰富的教材。

当然,教程还可以在某些方面进行改进,例如增加更多的实际应用案例,提供更丰富的编程实践等。

java数据结构相关文献

java数据结构相关文献

java数据结构相关文献
关于Java数据结构的文献很多,以下是一些相关的文献供您参考:
1. 《Java数据结构与算法分析》:这本书是Java程序员必读经典书籍之一,涵盖了Java数据结构的主要内容,包括数组、链表、栈、队列、二叉树等,同时也介绍了各种算法和数据结构的应用。

2. 《深入理解Java数据结构与算法》:这本书深入浅出地介绍了Java数据结构和算法的实现原理和应用,适合有一定Java基础的读者。

3. 《Java核心技术卷II》:这本书是Java程序员必备的参考书之一,其中
也涵盖了Java数据结构的内容,包括集合框架、泛型、流等。

4. 《Data Structures and Algorithms in Java》:这本书是面向大学本科
生的教材,涵盖了数据结构和算法的原理以及Java实现。

5. 《Java数据结构与算法案例教程》:这本书通过案例的形式介绍了Java
数据结构和算法的实现和应用,适合初学者和有一定Java基础的读者。

除了以上书籍,还有很多在线教程和博客文章可以供您参考,例如LintCode、LeetCode等在线编程网站上有大量的Java数据结构和算法题
目以及解答。

数据结构(java)复习题及答案

数据结构(java)复习题及答案

数据结构(java)复习题及答案⼀、选择题1、数据结构在计算机内存中的表⽰是指____A__A.数据的存储结构 B.数据结构C. 数据的逻辑结构D.数据元素之间的关系2、若⼀个算法的时间复杂度⽤T(n)表⽰,其中n的含义是( A )A.问题规模 B.语句条数C.循环层数 D.函数数量3、下列选项中与数据存储结构⽆关的术语是( D )A.顺序表B.链表C.链队列D.栈4、已知循环队列的存储空间⼤⼩为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下⼀个位置,则向队列中插⼊新元素时,修改指针的操作是( D )A.rear=(rear-1)%m;B.front=(front+1)%m;C.front=(front-1)%m;D.rear=(rear+1)%m;5、栈和队列的共同点是__C______A.都是先进后出B.都是先进先出C.只允许在端点处插⼊和删除元素D.没有共同点6、已知⼀堆栈的进栈序列为1234,则下列哪个序列为不可能的出栈序列______D__A.1234B.4321C.2143D.41237、具有线性结构的数据结构是( C )A.树 B.图C.栈和队列 D.⼴义表8、假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为( B )A.3 B.37C.50 D.979、若栈采⽤链式存储结构,则下列说法中正确的是( B )A.需要判断栈满且需要判断栈空B.不需要判断栈满但需要判断栈空C.需要判断栈满但不需要判断栈空D.不需要判断栈满也不需要判断栈空10、若⼀棵具有n(n>0)个结点的⼆叉树的先序序列与后序序列正好相反,则该⼆叉树⼀定是( C )A.结点均⽆左孩⼦的⼆叉树B.结点均⽆右孩⼦的⼆叉树C.⾼度为n的⼆叉树D.存在度为2的结点的⼆叉树11、若⼀棵⼆叉树中度为l的结点个数是3,度为2的结点个数是4,则该⼆叉树叶⼦结点的个数是( B )A.4B.5C.7D.812、在n个结点的线索⼆叉树中,线索的数⽬为_C_______A.n-1 B. nC.n+1D.2n13、⼀棵完全⼆叉树有1001个结点,其中有____B_____叶⼦结点A.500B.501C.503D.50515、⼀个有n个顶点的⽆向图最多有___C____条边。

JAVA数据结构——单链表的操作

JAVA数据结构——单链表的操作

单链表的操作方法一:package ch02;(1)建立结点类Node.javapublic class Node {public Object data;//存放结点数据值public Node next;//存放后继结点//无参构造函数public Node(){ this(null,null);}//只有结点值的构造函数public Node(Object data){ this(data,null);}//带有节点值和后继结点的构造函数public Node(Object data,Node next){ this.data=data;this.next=next;}}(2)建立链表及操作LinkList.javapackage ch02;import java.util.Scanner;public class LinkList implements IList{public Node head;//单链表的头指针//构造函数初始化头结点public LinkList(){head=new Node();}//构造函数构造长度为n的单链表public LinkList(int n,boolean Order) throws Exception{ this();if(Order)create1(n); //头插法顺序建立单链表elsecreate2(n); //尾插法逆序建立单链表}//头插法顺序建立单链表public void create1(int n) throws Exception{Scanner sc=new Scanner(System.in);System.out.println("请输入结点的数据(头插法):”);for(int i=0;i<n;i++){insert(0,sc.next());}}//尾插法逆序建立单链表public void create2(int n) throws Exception{Scanner sc=new Scanner(System.in);System. out.println("请输入结点的数据(尾插法):");for(int i=0;i<n;i++){insert(length(),sc.next());}}//将链表置空public void clear(){head.data=null;head.next=null;}//判断链表是否为空public boolean isEmpty(){return head.next==null;}//返回链表长度public int length(){Node p=head.next;int length=0;while(p!=null){p=p.next;length++;//返回P不空长度length加1}return length;}//读取并返回第i个位置的数据元素public Object get(int i) throws Exception {Node p=head.next;int j;//从首结点开始向后查找,直到9指向第i个结点或者p为nullfor(j=0;j<i&&p!=null;j++){ p=p.next;}if(j>i||p==null)//i不合法时抛出异常throw new Exception("第"+i+”个数据元素不存在”);return p.data;}//插入乂作为第i个元素public void insert(int i, Object x) throws Exception{ Node p=head;int j=-1;//寻找第i个结点的前驱i-1while(p!=null&&j<i-1){p=p.next;j++;}if(j>i-l||p==null)//i不合法时抛出异常throw new Exception("插入位置不合法”);Node s=new Node(x);s.next=p.next;p.next=s;}//删除第i个元素public void remove(int i) throws Exception{ Node p=head;int j=-1;while(p!=null&&j<i-1){//寻找第i-1 个节点p=p.next;j++;}if(j>i-1||p.next==null)throw new Exception("删除位置不合法”);p.next=p.next.next;}//返回元素x首次出现的位序号public int indexOf(Object x) {Node p=head.next;int j=0;while(p!=null&&!p.data.equals(x)){p=p.next;j++;if(p!=null)return j;elsereturn -1;}public void display(){Node p=head.next;while(p!=null){if(p.next==null)System.out.print(p.data);elseSystem.out.print(p.data+"f );p=p.next;}}}(3)建立测试类Test.javappublic class test {public static void main(String[] args) throws Exception { // TODO Auto-generated method stubScanner sc=new Scanner(System.in);boolean or;int xz,xx;System.out.println("请选择插入的方法:0、头插法,1、尾插法");xz=sc.nextInt();if(xz!=0)or=true;elseor=false;System. out.println("请插入的结点的个数:”);xx=sc.nextInt();LinkList L=new LinkList(xx,or);System.out.println("建立的链表为:");L.display();System.out.println();System.out.println("链表的长度:"+L.length());System. out.println(”请输入查找的结点的数据:”);Object x=sc.next();int position=L.indexOf(x);System.out.println("结点的数据为:"+x+"的位置为:"+position); System. out.println("请输入删除的结点的位置:”);int sr=sc.nextInt();L.remove(sr);L.display();System.out.println();System.out.println("链表的长度:"+L.length()); }品P rob I em & J a vs d oc / Declaration Q Error Log 里Con sole-M、、■=:termin8ted> test [3] [Java Application] C U &ert\Ad im i n i st rat o r\Ap p Data\L o cs I请选择插入.的方法:0、头插法,lv星插法请插入的特点的个数:请愉入结点的颓据(尾插法):A B C E D F建立的旌表为;A+B T C+E T D+F链表的长度:6请输入查找的结点的数据:结点的数据为:E的位置为:3请输入删除的结点的位置,R+B T E+DW道表的长度:S方法二(引入get和set方法)Package sy;import java.util.Scanner;//单链表的结点类public class Node {private Object data; //存放结点值private Node next; //后继结点的引用public Node() { //无参数时的构造函数this(null, null);}public Node(Object data) { // 构造值为data 的结点this(data, null);}public Node(Object data, Node next) {//构造值为data 和next 的结点构造函数this.data = data;this.next = next;}public Object getData() { return data;}public void setData(Object data) {this.data = data;}public Node getNext() { return next;public void setNext(Node next) { this.next = next;}}//实现链表的基本操作类public class LinkList {Node head=new Node();//生成一个带头结点的空链表//根据输入的一系列整数,以0标志结束,用头插法建立单链表public void creat() throws Exception {Scanner sc = new Scanner(System.in); //构造用于输入的对象for (int x=sc.nextInt(); x!=0; x=sc.nextInt()) //输入若干个数据元素的值(以0结束) insert(0, x);//生成新结点,插入到表头}//返回带头结点的单链表中第i个结点的数据域的值。

Java核心数据结构(List、Map、Set)原理与使用技巧

Java核心数据结构(List、Map、Set)原理与使用技巧

Java核⼼数据结构(List、Map、Set)原理与使⽤技巧JDK提供了⼀组主要的数据结构实现,如List、Set等常⽤数据结构。

这些数据都继承⾃java.util.Collection接⼝,并位于java.util包内。

⼀、List接⼝最重要的三种List接⼝实现:ArrayList、Vector、LinkedList。

它们的类图如下:可以看到,3种List均来⾃AbstratList的实现。

⽽AbstratList直接实现了List接⼝,并扩展⾃AbstratCollection。

ArrayList和Vector使⽤了数组实现,可以认为,ArrayList封装了对内部数组的操作。

⽐如向数组中添加、删除、插⼊新的元素或数组的扩展和重定义。

对ArrayList或者Vector的操作,等价于对内部对象数组的操作。

ArrayList和Vector⼏乎使⽤了相同的算法,它们的唯⼀区别可以认为是对多线程的⽀持。

ArrayList没有对⼀个⽅法做线程同步,因此不是线程安全的。

Vector中绝⼤多数⽅法都做了线程同步,是⼀种线程安全的实现。

因此ArrayList和Vector的性能特性相差⽆⼏。

LinkedList使⽤了循环双向链表数据结构。

LinkedList由⼀系列表项连接⽽成。

⼀个表项总是包含3个部分:元素内容、前驱表项和后驱表项。

如图所⽰:LinkedList的表项源码:private static class Node<E> {E item;Node<E> next;Node<E> prev;Node(Node<E> prev, E element, Node<E> next) {this.item = element;this.next = next;this.prev = prev;}}⽆论LinkedList是否为空,链表都有⼀个header表项,它既是链表的开始,也表⽰链表的结尾。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5/5
for (int i = 0; i < size; i++) if (elem.equals(elementData[i])) return i; } return -1; } 6.假设向 ArrayList 中添加如下方法,写出每个方法的方法体 public boolean addFirst (Object element) public boolean addLast (Object element) public Object removeFirst() public Object removeLast() public Object getFirst ( ) public Object getLast ( )
二、
常见题目
1. 教材上的习题、上机题、常用几个方法的时间复杂度 4.阅读程序,写出运行结果 ArrayList let=new ArrayList(); let.add(“p”); let.add(0, “r”); let.add(“e”); System.out.println(let.indexOf(“p”)); let.remove(1); System.out.println(let.get(1)); System.out.println(let.contains(“r”)); 5.ArrayList 中定义了一个方法,说明该方法在类中正确的方法名称 public int unkown(Object elem) { if (elem == null) { for (int i = 0; i < size; i++) if (elementData[i]==null) return i; } else {
第一章:绪论 1、计算机科技的两大支柱 1、数据结构 2、算法 · 程序 = 数据结构 + 算法 2、数据结构定义: 是一门研究非数值计算的程序设计问题中计算机的操作对 象以及它们之间的关系和操作等等的学科。 数据(Data):是对信息的一种符号表示。 在计算机科学中是指所有能输入到计算机 中并被计算机程序处理的符号的总称。 数据元素(Data Element):是数据的基本单位,在计算机程序中通常作为一个整体 进行考虑和处理。 一个数据元素可由若干个数据项组成。数据项是数据的不可分割的最小单 位。 数据结构(Data Structure): 是相互之间存在一种或多种特定关系的数据元素的集 合。 3、数据结构主要指逻辑结构和物理结构 数据之间的相互关系称为逻辑结构。通常分为四类基本结构: 集合 结构中的数据元素除了同属于一种类型外,别无其它关系。 线性结构 结构中的数据元素之间存在一对一的关系。 树型结构 结构中的数据元素之间存在一对多的关系。 图状结构或网状结构 结构中的数据元素之间存在多对多的关系。 4、数据结构在计算机中有两种不同的表示方法: 顺序存储结构:用数据元素在存储器中的相对位置来表示数据元素之间的逻辑关 系。 链式存储结构:在每一个数据元素中增加一个存放地址的指针,用此指针来表示 数据元素之间的逻辑关系。 5、数据对象:某种数据类型元素的集合。 例:整数的数据对象是{…-3,-2,-1,0,1,2,3,…} 英文字符类型的数据对象是{A,B,C,D,E,F,…} 数据类型:在一种程序设计语言中,变量所具有的数据种类。 6、数据结构的三个方面:
2/2
容器中的元素类型都为 Object。 从容器取得元素时, 必须把它转换成原来的类型。 第四章:递归 1、 递归的定义 若一个对象部分地包含它自己, 或用它自己给自己定义, 则称 这个对象是递归的;若一个过程直接地或间接地调用自己, 则称这个过程是递 归的过程。 第五章:数组列表 1、线性表是由n(n≥0)个相同类型的数据元素a1,a2,…,an组成的有限序列, 记作:LinearList={a1,a2,…,an} 其中,n 表示线性表的元素个数,称为线性表的长度。 2、线性表的顺序存储结构:是用一组连续的存储单元顺序存放线性表的数据元 素,数据元素在内存的物理存储次序与它们在线性表中的逻辑次序是一致的, 即数据元素 ai 与其前驱数据元素 ai-1 及后继数据元素 ai+1 的位置相邻。 5、为什么需要串行化:希望 ArrayList 对象保存到文件中,以便于恢复使用。 6、如何实现类可串行化:见练习 package java.io; public interface Serializable {//标记接口 } 7、迭代器是允许以一致的方式对集合对象的元素进行访问的对象。 迭代器对象一旦发现另一个对象在结构上修改这一集合,就马上会报错。这是因 为一旦你开始对一个 ArrayList 对象进行迭代,就不能再修改这个 ArrayList 完 整性。因此弹出 ConcurrentModificationException
4/4
(9) 7. 理解 clone 方法的含义,并对浅克隆与深度克隆进行说明及图示
为什么需要克隆:希望获得一个副本,即另一份拷贝。 如何实现类可克隆 package ng; public interface Cloneable { //标记接口 } Eg: public Object clone() { try { ArrayList v = (ArrayList)super.clone(); // copies size v.elementData = new Object[size]; System.arraycopy(elementData, 0, v.elementData,0, size); v.modCount = 0; return v; } catch (CloneNotSupportedException e) { // this shouldn't happen, since we are Cloneable throw new InternalError(); } }
7、算法用抽象的语言描述解决特定问题的每一步的操作。程序是计算机能理解 和执行的指令序列。一个程序实现一个算法。算法和程序的区别是算法的执行 是有穷的,而程序的执行可以是无限的。 8、时间复杂度:
1/1
9、1、什么是集合 通常情况下, 把具有相同性质的一类东西, 汇聚成一个整体, 就可以称为集合。 比如,用 Java 编程的所有程序员,全体中国人等。 2、什么是集合框架 集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。 任何集合 框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。 3、集合框架对我们编程有何助益:它减少了程序设计的辛劳、它提高了程序速 度和质量。 10、Collection 接口是一组允许重复的对象。 Set 接口继承 Collection,但不允许重复,使用自己内部的一个排列机制。 List 接口继承 Collection,允许重复,以元素安插的次序来放置元素,不会重新 排列。 Map 接口是一组成对的键-值对象,即所持有的是 key-value pairs。Map 中不能 有重复的 key。拥有自己的内部排列机制。
1. 掌握 Collection 接口含义及方法
2. 掌握 Collection 接口与 List 接口的关系:见练习本
3/3
3. 掌握 ArrayList 与数组之间的关系:ArrayList 对数组进行了排序,见练习本 4. 从 用 户 角 度 如 何 理 解 ArrayList ? 从 开 发 者 角 度 如 何 理 解 ArrayList ? ArrayList 比数组多了一些增减数据的方法。 5. 掌握 ArrayList 常用方法的含义及使用方法。见书 P121 6. 会实现 ArrayList 的顺序存储简化版, 包括最常用的方法 size(); isEmpty(); contains(Object o) ; indexOf(Object elem) ; add(Object o) ; remove(Object o) ; clear(); get (int index) ; set (int index, Object element)等 (1) public int size(){ return size; } (2) public boolean isEmpty(){ if(size==0) return true; else return false; } (3) public Boolean contains(Object o){ return indexOf(o)>=0; } (4)public int indexOf(Object elem){ if (elem == null) { for (int i = 0; i < size; i++) if (elementDate[i]==null) return i; } else { for (int i = 0; i < size; i++) if (elem.equals(elementDate[i])) return i; } return -1; } (5)public boolean add(Obje3;1); elementDate[size++]=o; return true; } (6)public Object remove(int index){ if(index<0||index>=size) return null; Object temp=elementDate[index]; for(int j=index;j<size;j++){ elementDate[j]=elementDate[j+1]; } size--; return temp; } (7)public void clear(){ modCount++; for(int i=0;i<size;i++) elementData[i]=null; size=0; } (8)public Object get(int index){ if(index<0||index>=size) return null; return elementDate[index]; }
相关文档
最新文档