集合继承图(重点1!!!)
两种集合介绍
1.集合主要是2种(单列集合,双列集合)
2.Collection接口有2个重要的子接口List,Set,他们的实现子类都是单列集合
3.Map接口实现子类是双列集合,存放的key-value
Collection接口实现类的特点
Collection接口和常用的方法
复制代码1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56public class CollectionMethod { public static void main(String[] args) { /** * add:添加单个元素 * remove:删除指定元素 * contains:查找元素是否存在 * size:获取元素个数 * imEmpty:判断是否为空 * clear:清空 * addAll:添加多个元素 * containsAll:查找多个元素是否都存在 * removeAll:删除多个元素 */ List list = new ArrayList(); //add:添加单个元素 list.add("你好"); list.add(10);//list.add(new Integer(10)) System.out.println(list); //=============================================================== //remove:删除指定元素 //list.remove("你好");//指定删除某个元素(你好) //list.remove(0);//删除第一个元素 //System.out.println(list); //=============================================================== //contains:查找元素是否存在 System.out.println(list.contains("你好"));//有这个元素返回true System.out.println(list.contains("不好"));//没有则返回false //=============================================================== //size:获取元素个数 System.out.println(list.size());//目前集合有2个元素,所以返回2 //=============================================================== //imEmpty:判断是否为空 System.out.println(list.isEmpty());//不为空,返回false //=============================================================== //clear:清空(慎用) list.clear();//清空这个集合 System.out.println(list); //=============================================================== //addAll:添加多个元素 ArrayList list2 = new ArrayList(); list2.add("红楼梦"); list2.add("三国演义"); list.addAll(list2);//将集合list2全部加入到list System.out.println(list); //=============================================================== //containsAll:查找多个元素是否都存在 System.out.println(list.containsAll(list2));//list2里面元素都存在,返回true //=============================================================== //removeAll:删除多个元素 list.add("聊斋"); list.removeAll(list2);//把list2所有元素删除 System.out.println(list); //=============================================================== } }
Collection接口都可以使用iterator(迭代器)
1.iterator对象称为迭代器,主要用于遍历集合
2.所有实现了Collection接口的集合都有一个iterator()方法,用来返回一个实现它的对象
3.仅用于遍历集合,本身并不存放对象
Collection接口还可以使用增强for循环遍历
迭代器可以用itit快捷键
增强for循环可以使用I使用
例子:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; public class CollectionIterator { @SuppressWarnings({"all"}) public static void main(String[] args) { Collection arrayList = new ArrayList();//接口Collection指向Arraylist(向上转型) arrayList.add(new Book("三国演义","罗贯中",20)); //new一个book为了明确录入对象是book arrayList.add(new Book("红楼梦","曹雪芹",32)); //System.out.println(arrayList); //遍历arrayList集合 //1.先得到arrayList对应的 迭代器iterator Iterator iterator = arrayList.iterator(); //2.使用while遍历循环 // while (iterator.hasNext()){//判断集合内是否还有数据 // //返回下一个元素,类型是Object // Object next = iterator.next(); // System.out.println(next); // } //快捷键itit,可以快速生成while,ctrl+j可以显示所有快捷键 while (iterator.hasNext()) { Object next = iterator.next(); System.out.println(next); } //3.当退出while循环后,这时iterator迭代器,指向最后的元素,继续取出会报异常 //4.如果希望再次遍历集合,需要重置迭代器 iterator = arrayList.iterator();//重置迭代器 System.out.println("第二次遍历"); while (iterator.hasNext()) { Object next = iterator.next(); System.out.println(next); } //增强for循环,可以替代iterator迭代器 //特点:增强for就是简化版的iterator,本质一样,只能用于遍历集合或数组 //增强for,底层仍然是迭代器,快捷键 I System.out.println("第三次遍历"); for(Object book : arrayList) System.out.println(book); } } class Book{ private String name; private String author; private double price; public Book(String name, String author, double price) { this.name = name; this.author = author; this.price = price; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } @Override public String toString() { return "Book{" + "name='" + name + ''' + ", author='" + author + ''' + ", price=" + price + '}'; } }
List接口和常用方法
实例演示:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79import java.util.ArrayList; import java.util.List; @SuppressWarnings({"all"}) public class List_ { public static void main(String[] args) { // 1.list集合类中元素有序(即添加顺序和取出顺序一致),且可以重复 // 可以理解成队列,先进先出 // List list = new ArrayList(); // list.add("jack"); // list.add("tom"); // list.add("mary"); // list.add("yq"); // list.add("jack");//可以重复 // System.out.println(list); // // 2.list集合中的每个元素都有对应的顺序索引,即支持索引 // 索引是从0开始的 // System.out.println(list.get(3));//yq下标为3,输出yq //======================================================================= //list常用方法 /** * void add(int index,Object ele):在index位置插入ele元素 * boolean addAll(int index,Collection eles):从index位置开始将eles中的所有元素添加进去 * Object get(int index):获取指定index位置的元素 * int indexOf(Object obj):返回obj在集合中首次出现的位置 * int lastlndexOf(Object obj):返回obj在当前集合中末次出现的位置 * Object remove(int index):移除指定index位置的元素,并返回此元素 * Object set(int index,Object ele):设置指定index位置的元素为ele,相当于是替换 * List subList(int fromindex,int tolndex):返回从fromindex到tolndex位置的子集合 */ List list1 = new ArrayList(); list1.add("张三丰"); list1.add("贾宝玉"); //void add(int index,Object ele):在index位置插入ele元素 //在index = 1的位置插入一个对象; list1.add(1,"刘备");//在下标为1的地方插入刘备 System.out.println(list1); //======================================================================= //boolean addAll(int index,Collection eles):从index位置开始将eles中的所有元素添加进去 List list2 = new ArrayList(); list2.add("jack"); list2.add("tom"); list1.addAll(1,list2);//在下标为1的地方加入list2的所有元素,其余的往后移动 System.out.println(list1); //======================================================================= // int indexOf(Object obj):返回obj在集合中首次出现的位置 System.out.println("首次出现下标=" + list1.indexOf("tom"));//返回tom首次出现的下标位置2 //======================================================================= //int lastlndexOf(Object obj):返回obj在当前集合中末次出现的位置 list1.add("tom"); System.out.println("最后一次出现下标=" + list1.lastIndexOf("tom"));//返回tom最后出现的下标位置5 //======================================================================= //Object remove(int index):移除指定index位置的元素,并返回此元素 list1.remove(0); System.out.println(list1); //======================================================================= //Object set(int index,Object ele):设置指定index位置的元素为ele,相当于是替换 list1.set(1,"奥特曼");//相当于把原先在1位置的 tom 换成 奥特曼 System.out.println(list1); //======================================================================= // List subList(int fromindex,int tolndex):返回从fromindex到tolndex位置的子集合 //注意返回的集合 fromIndex <= subList < toIndex List return_ = list1.subList(0,3);//返回下标从 0 到 3-1 的元素,并赋给return_ System.out.println(return_); } }
最后
以上就是背后夏天最近收集整理的关于集合(迭代器iterator)的全部内容,更多相关集合(迭代器iterator)内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复