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文档中的用就可一用。


版权声明:本文为weixin_42298826原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_42298826/article/details/114768129