java的list和set_【夯实基础】JAVA集合框架总结(list和set的区别等等)

几个面试常见问题:1.Q:ArrayList和Vector有什么区别?HashMap和HashTable有什么区别?A:Vector和HashTable是线程同步的(synchronized)。性能上,ArrayList和HashMap分别比Vector和Hashtable要好。2.Q:大致讲解java集合的体系结构A:List、Set、Map是这个集合体系中最主要的三个接口。其中List和Set继承自Collection接口。Set不允许元素重复。HashSet和TreeSet是两个主要的实现类。List有序且允许元素重复。ArrayList、LinkedList和Vector是三个主要的实现类。Map也属于集合系统,但和Collection接口不同。Map是key对value的映射集合,其中key列就是一个集合。key不能重复,但是value可以重复。HashMap、TreeMap和Hashtable是三个主要的实现类。SortedSet和SortedMap接口对元素按指定规则排序,SortedMap是对key列进行排序。3.Q:Comparable和Comparator区别A:调用java.util.Collections.sort(Listlist)方法来进行排序的时候,List内的Object都必须实现了Comparable接口。java.util.Collections.sort(Listlist,Comparator c),可以临时声明一个Comparator来实现排序。Collections.sort(imageList, newComparator() {

publicint compare(Object a, Object b) {

intorderA = Integer.parseInt( ( (Image) a).getSequence());

intorderB = Integer.parseInt( ( (Image) b).getSequence());

return orderA - orderB;

}

});如果需要改变排列顺序改成return orderb - orderA即可。4.Q:简述equals()和hashCode()A:...不知道。下回分解public interfaceCollectionextendsIterablepublic interfaceListextendsCollectionpublic abstract classAbstractListextendsAbstractCollectionimplementsListpublic classVectorextendsAbstractListimplementsList,RandomAccess,java.lang.Cloneable,java.io.Serializable基于Array是“sychronized”的public classArrayListextendsAbstractListimplementsList,RandomAccess,Cloneable,java.io.Serializable基于ArrayArrayList是非同步的。所以在性能上要比Vector优越一些public classLinkedListextends AbstractSequentialListimplements List,Queue,Cloneable,java.io.Serializable不基于Array基于Array的List(Vector,ArrayList)适合查询,而LinkedList(链表)适合添加,删除操作List基本上都是以Array为基础。但是Set则是在HashMap的基础上来实现的,这个就是Set和List的根本区别public abstract classAbstractSetextends AbstractCollectionimplements Setpublic classHashSetextends AbstractSetimplements Set, Cloneable,java.io.SerializableHashSet的存储方式是把HashMap中的Key作为Set的对应存储项public classLinkedHashSetextends HashSetimplements Set, Cloneable,java.io.Serializablepublic classTreeSetextends AbstractSetimplements SortedSet, Cloneable,java.io.Serializable它是通过SortedMap来实现的public interfaceMappublic abstract classAbstractMapimplements Mappublic classHashMapextends AbstractMapimplements Map, Cloneable, Serializablepublic classTreeMapextends AbstractMapimplements SortedMap, Cloneable,java.io.SerializableHashMap通过hashcode对其内容进行快速查找,而TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值