Java中集合类的区别

发表于:2010-6-22 10:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  方法二

Java.lang.Comparable
Public int compareTo(Object o)
Class Person implements java.lang.Comparable{
Public int compareTo(Object o){
Comparable c1=(Comparable)this;
Comparable c2=(Comparable)o;
Return c1.name.compareTo(c2.name );
}
}
……………………………….
}

  首先Collection和Map是两个毫无关系的接口,Collection是对象集合,Map是键值对集合

  Collection有两个子接口List和Set

  List可以通过下标(1,2..)来取得值,值可以重复

  而Set只能通过游标来取值,并且值是不能重复的

  ArrayList,Vector,LinkedList是List的实现类

  ArrayList是线程不安全的,Vector是线程安全的,这两个类底层都是由数组实现的

  LinkedList是线程不安全的,底层是由链表实现的

  HashTable和HashMap是Map的实现类

  HashTable是线程安全的,不能存储null值

  HashMap不是线程安全的,可以存储null值

  实现Collection接口的类,如果底层是用数组实现,那么添加新元素花费的时间会比较多,因为他要保证这个数组的容量足够大,所以在每添加一个新元素的时候都要自动扩大数组容量....如果实现Collection接口的类底层是用链表实现,那么他查找一个元素所花费的时间会比较长,因为他不能通过下标来查找,只能一个个的遍历....所以在add()操作比较多的时候用LinkedList性能比较好,在search()操作比较多的时候用ArrayList和Vector比较好。

55/5<12345
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号