java第五天

集合与数组数组的长度是固定的,当超过数组的长度时,需要对数组重新定义,太麻烦,java内部提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加
数组能存储基本数据类型和引用数据类型,集合只能存储引用数据类型,当存储基本数据类型时会自动装箱。
集合有两个子集合:List、Set
List:有序(存和取的顺序一致),有索引,可以存储重复
三个字类:
Set 无序,无索引不可以存储重复
迭代器的原理:
迭代器是对集合进行遍历,而每一个集合内部的存储结构都是不同的。
迭代过程中集合不能改变
HashSet不能存储重复,底层实现为HashCode和equals配合使用
当HashCode相同时比较equals,若相同则不存储,不同则在相同HashCode的元素下悬挂新的元素,下次在比较equals时,先存储的后比较
自动装箱、自动拆箱
for each 遍历,底层是迭代
TreeSet类的自然排序与比较器排序
自然排序:
需要存储对象具有compareTo方法。
TreeSet类的add()方法会把存入的对象提升为Comparable类型
调用compareTo方法进行排序
比较器排序:
创建TreeSet可以制定一个类继承Comparator接口
add()方法会自动调用该类的compareTo方法

猜你喜欢

转载自blog.csdn.net/qq_41584674/article/details/81836608