【黑马程序员】集合框架----Collection和Map接口以及它们的实现类总结

                                 ------- android培训java培训、期待与您交流! ------……

 collection 接口 有两个子接口, list 和set 。

list接口:实现类常用的有:ArrayList 和linkedList , vector

实现类的区别:

ArrayList  增删慢查询快, 底层为数组实现,初始为10位,以后每次增加百分之五十。

LinkedList 增删快查询慢,初始为10位,但以后每次增加百分之百。

vector 线程安全,其余和ArrayList相同。ArrayList线程不安全。 不常用已被基本放置

 

一:List 接口实现的有序存储,add()方法来添加数据。常用方法有:

removeall(集合)移除交集。

retainAll(集合) 只要交集。

set(index,value)  get (index)

size()长度

contain()是否包含

equals() 比较

hasCode() 获得哈希值

clear() 清除所有元素

isEmpty()是否为空

遍历集合需要用到迭代器:Iterator it = 集合对象。iterator(); 

 while(it。hasnext()){  it。next;}

linkedList 类自己特有的方法:

addFirst()向首位添加元素

addLast()添加最后

getFirst()   getLast()

 removeFirst()  removeLast()  需要注意的是这个方法是取出后删除

jdk1.6后 有所新增:

offerFirst() offerlast() 增加元素

peekFirst() peekLast() 获得元素

pollFirst() pollLast() 获得后删除

 

二,set接口:

set接口与List不同 set中不能添加重复的元素。

set 常用的子类: HashSet,TreeSet。

HashSet 底层是为哈希表实现的,必须实现 hasCode() 和equals() 方法

HashSet 存储元素 先比较元素哈希吗 然后比较值。删除也一样

TreeSet 可以自动排序。底层为二叉树

对于一个自己定义的类可以实现comparable 接口覆盖 compareto() 方法来设定排序方法

也可以指定一个比较器 :  new TreeSet(new 类()) 类实现comparator接口 ,覆写 public int compare()方法。

 

Map 接口:

Map 接口偶的具体实现类有:

HashTable: 底层哈希表数据结构,不可以存储null建和null值,线程同步。

HashMap: 底层哈希表数据结构,可以存储null键和值,线程不同步。

TreeMap: 底层二叉树, 线程不同步,可以给map集合中的键排序。

map<string, string> m = new HashMap<String, string>();

put()方法可以添加元素。 添加重复的键后,返回原来的值,然后新值覆盖老值。

有两种方法遍历Map

一: keySet ()方法:

  set<T> keyset = map。keySset(); 获取所有的键,然后迭代使用get()方法。

二:entrySet()方法:

Set<Map。entry<K,V>> entryset = map.entrySet();  获取所有的映射集合。然后通过getKey() 和getValue()方法遍历。

 

有关Map。entry 接口:

Map。entry 接口是Map的内部接口,用来保存 key ———vallue 的内容。此接口可以通过外部类。内部类的方式调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值