技术蛀虫

导航

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

posted on 2012-05-18 16:09  技术蛀虫  阅读(169)  评论(0)    收藏  举报