1.set中装的对象是没顺序不可以重复。重复的判断:只要两个对象equals相等就行了。(要理解的是,并非重复了就报错,只是存储时候只有一个,输出的时候只会输出一个。)
2.list中的数据对象有顺序并且可以重复
1)Array读快改慢
这是以数组的方式来实现,读的时候根据指针很快就能读取到,但是改的时候要把不同的部分复制出来再创建成一个新的数组,所以比较麻烦。
2)Linked改快读慢
3.循环输出集合内容:
1)iterator方式迭代:创建每个对象自身的迭代器,然后再用迭代器来判断是否有下一个,再输出。
2)jdk1.4之后用到的for循环形式
for (int aaa:list1) {
System.out.println(aaa);
}
是把list1集合里面的东西全都遍历存到aaa里,再输出。但是除了遍历输出所有的内容之外,没有其他的好处,例如要删除某一个的时候实现不了,所见不建议使用这种方式。
4.自动装箱和拆箱:在集合当中,添加的都是对象,但是jdk1.4之后可以直接添加基本的数
据类型了,但是这其中就涉及到装箱和拆箱的问题。
1)装箱:基础数据类型转换成为对象类型就是装箱,就是给基础数据类型装成一个对象。
2)拆箱:就是把对象转化为基本的数据类型。
5.泛型
1)为什么要使用泛型:装入集合的类型都被当作Object对待,从而丢失了原有的自己的实际类型。因而从集合中提取出来之后需要转型,效率低,容易犯错误。
2)使用泛型:在定义集合的同时定义集合中的对象类型。
3)使用范围:泛型的本质就是将数据类型参数化,不止是集合,其他地方也用到。那些类可以用泛型呢,看api文档,api文档中的用就可一用。
时间: 2024-10-13 04:03:08