集合

Collection

接口: Set List Map

实现类:HashSetArrayList LinkedList HashMapHashtable

Set与List:

Set中一个对象只能放一次,不能重复。无序

List中一个对象可以放多次,可以重复。有序

HashSet与TreeSet:

ArrayList与LinkedList:

ArrayList:数组结构,适合查询,常用方法:add、get、size、isEmpty、toArray

LinkedList:链路结构,适合插入与删除。

(Set、List)与Map:

(Set、List):数据是一个整体对象。

Map:key与value,键值对

HashMap与Hashtable:

HashMap:key与value可以是null,没有实现线程同步(StringBulider)。

Hashtable:key与value不能为空,实现了线程同步(StringBuffer)。

泛型:指定容器类所要指定的数据类型。例如:

Collection<String>coll=new ArrayList<String>();指定了ArrayList中只能装Sting数据类型的数据,不能放其他的。

Comparator与Comparable:

1、对象不能直接比较大小

2、要对对象比较大小,我们只能比较对象可以比较的属性

3、实现对象比较的两种方式:a:在定义类的时候实现Comparable接口里面的compareTo(object o)方法。(在方法中实现属性大小的比较)b:直接写一个比较器类,实现Comparator接口中的compare(Object o1 ,Object o2)的方法。(在方法中实现属性大小的比较)。

那么,什么时候用Comparable,什么时候用Comparator?

答:1、在类设计的时候(写类的时候)用Comparable,就是说你设计的时候就要进行比较。

2、在类写好的时候,不能修改里面的比较逻辑,需要临时的使用另外的比较大小方式,单独的写Comparator (比较器),就是说突然要对某个对象的属性进行比较。

迭代器:

HashSet:iterator

HashSet set=new HashSet();

Iterator itor=set.iterator(); for(Iteratoritor=set.iterator();itor.hasNext();)

While(itor.hasNext()){ {

String str=(String)Itor.next();} Stringstr=(String)Itor.next();}

要比较不是默认的对象比较,要用比较器。例如我们不是比较数字、字母或其他的大小,而是比较年龄、名字等,我们可以用比较器进行比较。

Map.Entry对象里面封装了key与value,因此你可以用getKey与getValue的方法来获得里面的key与value值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值