——- android培训、java培训、期待与您交流! ———-
Map类
1、Hashtable:底层是哈希表数据结构,不可以存入null键和null值,该集合是线程不同步的 JDK1.0 效率一般
2、HashMap: 底层是哈希表数据结构,允许使用null键和null值,该集合是线程同步的 JDK1.2 效率高
3、TreeMap:底层是二叉树数据结构,线程不同步,可以用于给map集合中的键进行排序
1添加
put(K key, V value):当存储的键相同时,新的值会替换旧的值,并返回旧的值,如果没有重复,则返回null
putAll(Map< K, V> m)获取全部元素
2删除
clear():清空集合
remove(Object key):删除指定的键
3判断
containsKey(Object value):判断是否存在值
containsValue(Object key):判断是否存在键
isEmpty():判断是否为空集合
4获取
value get(Object key):通过指定键获取对应的值,如果返回null,可以判断该键不存在
特殊情况:在HashMap集合中,是可以存入null键和null值
Int size():返回集合长度
Collection values():获取Map集合中所有的值
keySet方法和entrySet方法
keySet方法取出元素
public static void main(String[] args) {
Map<String,String> map = new HashMap<String,String>();
map.put("k1", "v1");
map.put("k2", "v2");
map.put("k3", "v3");
//将map集合中的所有键存放到set集合中
Set<String> set=map.keySet();
//有了set集合,就可以创建迭代器
Iterator<String> it = set.iterator();
while(it.hasNext());
{
String key =it.next();
//有了map的键,就可以通过get方法取出与之相对应的值
String value = map.get(key);
System.out.println(key+"--"+value);
}
entrySet方法取出元素
public static void main(String[] args) {
Map<String,String> map = new HashMap<String,String>();
map.put("k1", "v1");
map.put("k2", "v2");
map.put("k3", "v3");
//获取集合中的键值关系,存入set集合中
Set<Map.Entry<String, String>> set = map.entrySet();
Iterator<Map.Entry<String, String>> it =set.iterator();
while(it.hasNext())
{
Map.Entry<String,String> me=it.next();
System.out.println(me.getKey()+"-- "+me.getValue());
//使用getValue()和getKey()方法
}
}
Collections静态方法
1、sort(List<> list):根据元素的自然顺序 对指定列表按升序进行排序。
2、sort(List<> list, Comparator<> c):根据指定比较器产生的顺序对指定列表进行排序
3、max(Collection<> coll):根据元素的自然顺序,返回给定collection 的最大元素。
4、binarySearch(List<> list, T key, Comparator<> c):使用二进制搜索算法来搜索指定列表,以获得指定对象
5、fill(List<> list, T obj);:使用指定元素替换指定列表中的所有元素
6、replaceAll(List<> list, T oldVal, T newVal):使用另一个值替换列表中出现的所有某一指定值
7、reverse(List<> list):反转指定列表中元素的顺序
8、reverseOrder():返回一个比较器,它强行反转实现 Comparable 接口那些对象 collection 上的自然顺序。
9、reverseOrder(Comparator<> cmp):返回一个比较器,它强行反转指定比较器的顺序。