Java集合框架概要

Java.util包中包含了Java中经常使用的集合框架,这里简单的作一下个人总结:

1. 学习一个包,首先看这个包中有那些接口。在java.util包中,包含的重要的接口有Collection,Map,Comparator,由Collection接口派生出两个接口Set,List,Set派生出的接口是SortedSet。Map派生出的接口是SortedMap。SortedSet和SortedMap可用于排序。
    Set和List的主要区别是Set不允许重复的元素,最多有一个null元素,List中可以由重复的元素,若列表中允许null元素,可以由多个null元素。向Set中添加自定义的类的对象时,最好实现类的hashCode()和equals()方法,通过这两个方法来确定对象是否同一对象,注意:两个方法都要实现,只实现其中一个方法是没有用的。

2. 直接实现Set接口的类有HashSet,LinkedHashSet(继承自HashSet),实现SortedSet 的类有TreeSet,TreeSet可以按照自然排序和使用Comparator接口进行排序,一般情况下,在不要求排序功能的时候,使用HashSet要优于TreeSet。
    直接实现List接口的类有ArrayList,LinkedList,ArrayList底层是由对象数组实现的,而LinkedList的底层是由双向循环链表实现的,故如果需要向列表的表头插入元素或频繁的插入、删除元素的话,使用LinkedList要优于ArrayList,否则的话,使用ArrayList更好。
    直接实现Map接口的类由HashMap,HashTable,直接实现SortedMap接口的类是TreeMap,这里关于HashMap和TreeMap的区别与HashSet和TreeSet的区别相似。关于HashMap和HashTable的区别:HashMap允许null键和null值,HashTable不允许使用null键和null值,HashMap的实现是不同步的,HashTable的实现是同步的,所以在不要求多线程运行的环境中,应该使用HashMap。Map接口中不允许出现重复的键,故用作键的对象应该实现hashCode()和equals()方法。

3. 实用类Collections,它定义了在Collection上操作的一些静态方法。在使用Collections对List中的对象排序时,List中的元素应该实现Comparable接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值