集合框架04

一、List接口

 1 public class Demo01 {
 2     /*
 3      * List集合派系,继承Collection接口
 4      * List接口特点:有序,索引,可以重复元素
 5      * 实现类:ArrayList,LinkedList
 6      * 
 7      * List接口中的抽象方法,有一部分方法是和他的父接口Collection是一样的
 8      * List接口的特有方法,带有索引的功能
 9      */
10     public static void main(String[] args) {
11         function_2();
12     }
13     //add(int index, E)将元素插入到指定索引上
14     public static void function(){
15         List<String> list = new ArrayList<String>();
16         list.add("张三1");
17         list.add("张三2");
18         list.add("张三3");
19         list.add("张三4");
20         list.add("张三5");
21         System.out.println(list);
22         
23         list.add(1,"张三6");//带有索引,防止越界异常
24         System.out.println(list);
25     }
26     //E remove(int index)移除指定索引上的元素
27     public static void function_1(){
28         List<Integer> list = new ArrayList<Integer>();
29         list.add(11);
30         list.add(12);
31         list.add(13);
32         list.add(14);
33         list.add(15);
34         
35         int i = list.remove(0);
36         System.out.println(i);
37         System.out.println(list);
38     }
39     
40     //E set(int index,E)修改指定索引上的元素,返回被修改前的元素
41     public static void function_2(){
42         List<Double> list = new ArrayList<Double>();
43         list.add(1.1);
44         list.add(1.2);
45         list.add(1.3);
46         list.add(1.4);
47         list.add(1.5);
48         System.out.println(list);
49         
50         Double i = list.set(2, 1.6);
51         System.out.println(i);
52         System.out.println(list);
53     }
54 }

二、迭代器的并发修改异常

 1 public class 迭代器的并发修改异常 {
 2     //迭代器的并发修改异常java.util.ConcurrentModificationException
 3     //就是在遍历的过程中,使用了集合方法修改了集合的长度,不允许 
 4     public static void main(String[] args) {
 5         List<String> list = new ArrayList<String>();
 6         list.add("a11");
 7         list.add("a12");
 8         list.add("a13");
 9         list.add("a14");
10         
11         //对集合使用迭代器进行获取,获取时判断集合中是否存在“a13”对象,若存在,添加一个“A3”元素
12         Iterator<String> it = list.iterator();
13         while(it.hasNext()){
14             String s = it.next();
15             if(s.equals("a13"))
16                 list.add("A13");
17             System.out.println(s);
18         }
19     }
20 }

三、ArrayList集合(存储结构是数组)

特点:增删慢,查找快,不同步,线程不安全,运行速度快

四、LinkedList集合

特点:增删快,查找慢,不同步,线程不安全,运行速度快

五、Vector集合(存储结构是数组)

特点:同步,线程安全,运行速度慢

六、Set接口

不允许存储重复对象

原文地址:https://www.cnblogs.com/Nelsoner/p/6684850.html