Java中谈到的一大类容器类,以前我总觉得只有个panel和frame是容器,现在学习完了视频,发现原来自己的理解狭隘了,只要是能放东西的,就可以叫做容器。Java对于容器的定义是:Java API 所提供的一系列类的实例,用于在程序中存放对象。
J2SDK所提供的容器API位于Java.util包内。
其中要掌握的图:
(图一)
关于上面的这张图话的并不是特别好,我觉得用这张图就比较好一些:
(图二)
针对这张图,解释一下:
在Java中API提供给我们的都是一些接口,我们用的都是父类引用指向子类对象的。
对于这些接口的比较:
Collection接口定义了存放一组对象的方法,其子接口Set和List分别定义了存储方式。
Set中的数据对象没有顺序且不可以重复。
List中的数据对象有顺序且可以重复。
Map接口定义了存储键 Key-Value映射对的方法。
这些接口中的方法其实无非就是:容器大小、清空、添加、删除等等吧。
举例:
List接口
List l1 = new LinkedList(); //定义了一个list,父类引用指向子类对象 for(int i=0; i<5; i++){ li.add("a" + i); } //for增强循环 System.out.println(l1); l1.add(3,"a100"); //这些方法是可以在API文件中查找到的 System.out.println(l1); l1.set(6,"a200"); System.out.println(l1); System.out.println(String)l1.get(2) + " "; System.out.println(l1.indexOf("a3")); li.remove(1); System.out.println(l1)
[a0, a1, a2, a3, a4, a5]
[a0, a1, a2 ,a100 , a4 ,a200 ]
a2 4
[a0 ,a2 ,a100 ,a3 ,a4 ,a200]
总结:
容器,我们要记住1136:
一个图(图二)
一个类( Collections)
三个知识点( for Generic
Auto-boxing、unboxing)
六个接口(Set map List Collection Iterator Comparable Auto-boxing)
最后,我觉得容器怎么这么像数组呀?
原文地址:http://blog.csdn.net/qiumuxia0921/article/details/39137885