黑马程序员 java基础之list集合
2015-01-05 21:45
218 查看
集合
在集合框架中,Collection为与这个框架的顶层,它有两个子接口,List和Set
在List和Set接口下,又有很多特殊的容器。因为每一个容器对数据的存储方式都有不同,这个存储方式称之为:数据结构,它们自身具备的特点不同。
Collection
作为一个集合,应该具有的方法:增删改查
在collection中,存在这样一些抽象方法
add(),增加一个元素
addAll(),一次增加一堆元素(实现并集)
remove 删除一个元素
removeAll 删除一堆元素(实现差集)A-B
retainAll 保留两个集合中共有的元素。交集
对象创建在堆内存中,而对象的引用在栈内存中。
在集合中存储的都是对象的引用(地址)。
<span style="font-size:14px;color:#000000;">ArrayList al = newArrayList();
02.
03. //添加元素
04.
05. al.add("01");
06.
07. al.add("02");
08.
09. al.add("03");
10.
11. al.add("04");
12.
13. //获取个数,集合的长度
14.
15. System.out.println(al.size());
16.
17. //删除元素
18.
19. al.remove("01");
20.
21. //判断元素
22.
23. System.out.println(al.contains("02"));
24.
25.ArrayList al2 = new ArrayList();
26.
27. al2.add("01");
28.
29. al2.add("02");
30.
31.//取交集,al中存放的为交集
32.
33.System.out.println(al.retainAll(al2));
34.
35. System.out.println(al);
</span>
当我们取出元素中的集合时候,就可以使用迭代器,其实就是集合取出元素的方式
每个集合中有各自特定的取出方式,也就有一个特定的迭代器。取出这个类就定义在集合的内部。也就是用来取元素,在集合内部操作,这个迭代器内部类抽取了一些共性的方法,叫做Iterator接口,这个接口定义了抽象的方法,在各自不同的数据结构中,取出和判断的方式不同,故各个数据结构实现了自己特定的迭代器对象。可以使用 数据结构对象.iterator();得到其内部实现的迭代器。
Collection中,有两类常见的子接口(各自有各自体系下的特定的方法)
List:元素是有序的(按照存入的前后),元素可以重复。因为该集合体系有索引。可以在指定位置对元素进行操作。凡是带角标的,底层的实现都是数组结构。
对于List集合来说:比较元素是否相等使用的是存入元素的equals方法。
而且在删除元素的时候,也是使用equals去寻找有没有。然后去删除。
Set:元素是无序(内部其实有序,但是对于用户来说,是无序的,不根据用户的存入前后,顺序的存放)的,元素不可以重复。
对于List和Set中的共性方法,都在Collection中已经定义了,现在学习List和Set中的特殊方法。
List(最大的特定就是通过索引对集合中的元素进行操作)
增 add(index,element);
add(index,Collection);
删 remove(index);
改 set(index,element);
查 get(index);
subList(from,to);
ListIterator();
<span style="font-size:14px;color:#000000;">ArrayList al = new ArrayList();
02.
03. al.add("00");
04.
05. //添加元素使用特有方法
06.
07. al.add(1,"01");
08.
09. System.out.println(al);
10.
11. //删除指定位置的元素
12.
13. al.remove(0);
14.
15. System.out.println(al);
16.
17. //修改元素。
18.
19. al.set(0, "001");
20.
21. System.out.println(al);
22.
23.
24.
25. //通过角标获取元素
26.
27. System.out.println(al.get(0));
28.
29. //获取所有的元素
30.
31. for(int x =0;x<al.size();x++)
32.
33. {
34.
35. System.out.println(al.get(x));
36.
37. }
38.
39. //使用迭代器的方式
40.
41. Iterator it = al.iterator();
42.
43. while(it.hasNext())
44.
45. {
46.
47. System.out.println(it.next());
48.
49. }
50.
51.
52.
53. //返回某一个特定元素在集合中的位置
54.
55. System.out.println(al.indexOf("001"));
56.
57. al.clear();
58.
59. al.add("11");
60.
61. al.add("12");
62.
63. al.add("13");
64.
65. List sub = al.subList(0,2);
66.
67. System.out.println(sub);
</span>
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
集合
在集合框架中,Collection为与这个框架的顶层,它有两个子接口,List和Set
在List和Set接口下,又有很多特殊的容器。因为每一个容器对数据的存储方式都有不同,这个存储方式称之为:数据结构,它们自身具备的特点不同。
Collection
作为一个集合,应该具有的方法:增删改查
在collection中,存在这样一些抽象方法
add(),增加一个元素
addAll(),一次增加一堆元素(实现并集)
remove 删除一个元素
removeAll 删除一堆元素(实现差集)A-B
retainAll 保留两个集合中共有的元素。交集
对象创建在堆内存中,而对象的引用在栈内存中。
在集合中存储的都是对象的引用(地址)。
<span style="font-size:14px;color:#000000;">ArrayList al = newArrayList();
02.
03. //添加元素
04.
05. al.add("01");
06.
07. al.add("02");
08.
09. al.add("03");
10.
11. al.add("04");
12.
13. //获取个数,集合的长度
14.
15. System.out.println(al.size());
16.
17. //删除元素
18.
19. al.remove("01");
20.
21. //判断元素
22.
23. System.out.println(al.contains("02"));
24.
25.ArrayList al2 = new ArrayList();
26.
27. al2.add("01");
28.
29. al2.add("02");
30.
31.//取交集,al中存放的为交集
32.
33.System.out.println(al.retainAll(al2));
34.
35. System.out.println(al);
</span>
当我们取出元素中的集合时候,就可以使用迭代器,其实就是集合取出元素的方式
每个集合中有各自特定的取出方式,也就有一个特定的迭代器。取出这个类就定义在集合的内部。也就是用来取元素,在集合内部操作,这个迭代器内部类抽取了一些共性的方法,叫做Iterator接口,这个接口定义了抽象的方法,在各自不同的数据结构中,取出和判断的方式不同,故各个数据结构实现了自己特定的迭代器对象。可以使用 数据结构对象.iterator();得到其内部实现的迭代器。
Collection中,有两类常见的子接口(各自有各自体系下的特定的方法)
List:元素是有序的(按照存入的前后),元素可以重复。因为该集合体系有索引。可以在指定位置对元素进行操作。凡是带角标的,底层的实现都是数组结构。
对于List集合来说:比较元素是否相等使用的是存入元素的equals方法。
而且在删除元素的时候,也是使用equals去寻找有没有。然后去删除。
Set:元素是无序(内部其实有序,但是对于用户来说,是无序的,不根据用户的存入前后,顺序的存放)的,元素不可以重复。
对于List和Set中的共性方法,都在Collection中已经定义了,现在学习List和Set中的特殊方法。
List(最大的特定就是通过索引对集合中的元素进行操作)
增 add(index,element);
add(index,Collection);
删 remove(index);
改 set(index,element);
查 get(index);
subList(from,to);
ListIterator();
<span style="font-size:14px;color:#000000;">ArrayList al = new ArrayList();
02.
03. al.add("00");
04.
05. //添加元素使用特有方法
06.
07. al.add(1,"01");
08.
09. System.out.println(al);
10.
11. //删除指定位置的元素
12.
13. al.remove(0);
14.
15. System.out.println(al);
16.
17. //修改元素。
18.
19. al.set(0, "001");
20.
21. System.out.println(al);
22.
23.
24.
25. //通过角标获取元素
26.
27. System.out.println(al.get(0));
28.
29. //获取所有的元素
30.
31. for(int x =0;x<al.size();x++)
32.
33. {
34.
35. System.out.println(al.get(x));
36.
37. }
38.
39. //使用迭代器的方式
40.
41. Iterator it = al.iterator();
42.
43. while(it.hasNext())
44.
45. {
46.
47. System.out.println(it.next());
48.
49. }
50.
51.
52.
53. //返回某一个特定元素在集合中的位置
54.
55. System.out.println(al.indexOf("001"));
56.
57. al.clear();
58.
59. al.add("11");
60.
61. al.add("12");
62.
63. al.add("13");
64.
65. List sub = al.subList(0,2);
66.
67. System.out.println(sub);
</span>
相关文章推荐
- 黑马程序员————java基础---------集合之Collection与List
- 黑马程序员——Java基础—集合(Set、List)
- 黑马程序员——Java基础---集合(Collection和List)
- 黑马程序员——JAVA基础之List集合
- 黑马程序员——Java基础---集合(一)---Collection、set、list
- 黑马程序员-java基础-List集合的特有功能
- 黑马程序员___13java基础 集合框架 LIST和SET集合
- 黑马程序员_毕向东JAVA基础_集合(2)Collection&&List&&Set&&泛型
- 黑马程序员——Java基础——集合类、Collection、List体系、集合框架LinkedList操作等
- 黑马程序员-java基础-List集合的特有遍历功能
- 黑马程序员:Java基础——List集合的分支
- 黑马程序员——Java语言基础——06.集合框架(1)集合框架概述和List、Set集合
- 黑马程序员——JAVA基础——集合---概述、Collection中共性方法、List、Map、工具类Collections和Arrays
- 黑马程序员 java基础之集合框架List
- 黑马程序员-JAVA基础-Java 集合之List 集合
- 黑马程序员——Java基础---集合(Collection接口、List接口及其子类、增强for)
- 黑马程序员---java基础之集合框架及List
- 黑马程序员——高新技术---Java基础-集合框架-集合Collection,List
- 黑马程序员:Java基础——List集合共性方法,Iterator迭代和集合具体对象的特点
- 黑马程序员--Java基础学习笔记【集合-List、泛型】