(1)特点
底层数据结构是数组,查询快,增删慢,线程安全,效率低。
(2)主要方法:
1.addElement(E obj)
将指定的组件添加到此向量的末尾,将其大小增加 1。
2.elementAt(int index)
返回指定索引处的组件。
3.elements()
返回此向量组件的枚举(迭代器)
4.lastElement()
返回此向量的最后一个组件。
5.firstElement()
返回此向量的第一个组件(位于索引 0) 处的项)。
6.void removeAllElements ()
从此向量中移除全部组件,并将其大小设置为零。
7.boolean removeElement (Object obj)
从此向量中移除变量的第一个(索引最小的)匹配项。
8.void removeElementAt ( int index)
删除指定索引处的组件。
(3)举例
public class Demo { public static void main(String[] args) { Vector vector = new Vector(); vector.add(10); vector.add(11); vector.add(12); System.out.println(vector); vector.addElement(13); System.out.println(vector); Object o = vector.elementAt(2); System.out.println(o); System.out.println("------------------------------"); Enumeration elements = vector.elements(); while (elements.hasMoreElements()){ Object o5 = elements.nextElement(); System.out.println(o5); } } }结果:
[10, 11, 12] [10, 11, 12, 13]
12
10 11 12 13
(1)概述:
List 接口的链接列表实现 , 此实现不是同步的
(2)LinkedList类特有功能:
public void addFirst(E e)及addLast(E e) public E getFirst()及getLast() public E removeFirst()及public E removeLast()
(3)主要功能:
1.E element () 获取但不移除此列表的头(第一个元素)。
2.E getFirst () 返回此列表的第一个元素。
3.E getLast () 返回此列表的最后一个元素。
4.peek() 获取但不移除此列表的头(第一个元素)。 5.E peekFirst () 获取但不移除此列表的第一个元素;如果此列表为空,则返回 null。
6.E poll () 获取并移除此列表的头(第一个元素) 7.E pollFirst () 获取并移除此列表的第一个元素;如果此列表为空,则返回 null。 8.E pollLast () 获取并移除此列表的最后一个元素;如果此列表为空,则返回 null。
9.E pop () 从此列表所表示的堆栈处弹出一个元素。 10.void push (E e) 将元素推入此列表所表示的堆栈。
11.E removeLast () 移除并返回此列表的最后一个元素。
12.E removeFirst () 移除并返回此列表的第一个元素。
13.void addFirst (E e) 将指定元素插入此列表的开头。 14.void addLast (E e) 将指定元素添加到此列表的结尾。
(1)概述
构造一个具有指定初始容量的空列表。
(2)主要方法
1.add(E e)
将指定的元素添加到此列表的尾部。
2.addAll()
将该 collection 中的所有元素添加到此列表的尾部。
3.clear()
移除此列表中的所有元素。
4.boolean contains(Object o)
如果此列表中包含指定的元素,则返回 true。
5.get(int index)
返回此列表中指定位置上的元素
6.remove()
移除此列表中指定位置上的元素。
7.size()
返回此列表中的元素数。
8.toArray()
按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。
(1)概述
简化数组和Collection集合的遍历
(2)格式
for(元素数据类型 变量 : 数组或者Collection集合) { 使用变量即可,该变量就是元素 }
(3)演示
public class MyTest { public static void main(String[] args) { int[] arr={20,40,50,60}; for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } System.out.println("----------------------"); //新式for循环遍历数组 //1,明确容器中的元素是什么数据类型 //2.容器的名字 // for(容器中的元素的数据类型 当前遍历的元素名 : 容器名) for(int ele:arr){ System.out.println(ele); } //采用新式for循环遍历集合 System.out.println("-------------------------"); ArrayList<Integer> list = new ArrayList<Integer>(); list.add(1004); list.add(1000); list.add(1002); list.add(10026); for(Integer ele:list){ System.out.println(ele); } /* 我们在采用新式for循环遍历容器途中,如果你想要给容器中添加元素或删除元素,就会报并发修改异常 ConcurrentModificationException for (Integer integer : list) { if (integer.equals(1000)) { list.add(10); } }*/ /*如果你要在遍历途中,要给容器添加元素或删除元素,你就使用普通for循环*/ for (int i = 0; i < list.size(); i++) { Integer integer = list.get(i); if (integer.equals(1000)) { list.add(10); } } } }(1)概述
定义方法的时候不知道该定义多少个参数
(2)格式
修饰符 返回值类型 方法名(数据类型… 变量名){}
(3)注意事项
a: 这里的变量其实是一个数组 b: 如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个
(4)举例
public class MyTest2 { public static void main(String[] args) { //可变参数 int sum=add(1,2); int sum2 = add(1, 2,3); int sum3 = add(1, 2, 3,4); System.out.println(sum); System.out.println(sum2); System.out.println(sum3); } //JDK1.5之后提供的一个新语法,可变参数 //数据类型 ... 参数名 //可变参数本质上是个数组 private static int add(int b,int ... num) { // System.out.println(num.length); int sum=0; for (int i : num) { sum+=i; } return sum+b; } //如果一个方法,有多个参数,那么可变参数,就位于最后一个 private static int show(int b,int... num) { return 0; } }