list

arraylist初始时10单位,超出之后以50%增长,则新数组为15,在把原数组放到新数组中。
vector初始也是10,超出之后100%增长,把原数组放到新数组中


1、list集合(arrlylist listlinked)放元素时,如果调用contains()判断是否包含元素,底层调用的是equals()方法,如果想改变比较规则,则重写equals(); 同理:remove()方法删除的时候,也是调用equals()方法比较要删除的,如果有才删除。

有些集合类自身实现了comparable接口,所以这些集合内部成员必须有比较性才可以加进去,内部元素可以直接调用comparable接口的comparaTo方法。打印输出的时候已经有顺序了,如果想重新定义比较规则,可以实现comparator接口,
1、对象很多有可能存到hashmap里面,判定元素重复条件,类本身有hashset和equals,但是比较的是内存地址值。所以要自定义元素自身条件来判定唯一性。
2、所以要复写hashcode方法。再重写equals方法。
只要用到hash,就要用到hash表,进而用到覆盖元素的hashcode和equals方法。判断元素唯一性。
当一个类有很多对象时,最好设定一个比较器,如实现comparable接口。
自然排序:先比较第一个元素,是字母就按照ACTT码表。如果相同再比较下一个元素规则。如:blisi3 、alisi4、 lisi1 、lisi2 。先比较a b l l a>b>l,接着比较lisi1 、lisi2,1在2前面。所以得到顺序是 alisi4、blisi3 lisi1 、lisi2
浙公网安备 33010602011771号