------- 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 的内容。此接口可以通过外部类。内部类的方式调用。