码迷,mamicode.com
首页 > 其他好文 > 详细

day19 集合MAp

时间:2015-08-05 23:57:03      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

Day 19 Map

一,虽然在Collection的下边,但是他在API里边确是单独的一个类;

二,Map 在存储的时候和collection 不一样:

Collection只能存储一个对象(也称为单列集合);

Map 是键值映射的,一一对应.(也称为双列集合);

三,map 接口中的方法: 常用的:

1,put (K,V)  将键值对存储到集合;  如果存储重复键,原来的键会被覆盖.

2,get(K)  传递键,返回这个键所对应的值(区分大小写);如果没有返回null

3,接口判断方法   Boolean containsKey (K)  判断有没有这个键   Boolean containsvalue(V)  判断有没有这个值

4,remove 移除这个键  移除谁,返回谁  没有返null

5,values(); 返回值collection 

将map中的值存储到collection中去 重要的一点:

Map的迭代方式: 

keyset HashMap <Sring,String> map = new HashMap <Sring,String>();

Set.put(“A”,”1”);

…………….

Set<String> set = map.keySet();

Iterator <String>it = set.iterator();

While(it.hashNext()){  

String key = it.next();

 String value = map.get(key);

 syso(key+value); }

第二种方法:利用键值的映射关系

  map.Entry  map的内部类实现

HashMap <Sring,String> map = new HashMap <Sring,String>();

Set.put(“A”,”1”);

…………….

Set(Map.Entry<String,String>)set = map.entrySet();

Iterator <Map.Entry<String,String>> it = set.interator();

while(it.hashNext){

Map.Entry entry = it.Next();

String ket =entry.getKey();

String value = entry.getvalue();  

syso(key+value); }

map的子类:

HashMap:允许用null键null值,线程不安全,运行速度快

LinkedHashMap:有序的,存取和迭代的顺序是一致的

TreeMap:存储到集合中的键是按照自然顺序排列的

HashTable不允许null值null键,线程安全,运行速度慢  

HashTable的子类  

prperitable:和IO流结合实现数据永久存储;键值都是String类型;

Collections 工具类专门用来操作集合,方法全部是静态的,直接用类名调用

几个常见的方法:

1,sort 对List集合进行排序,传递List集合

2,reversOrder:逆转对象的自然顺序,返回比较器对象

3,int benarySearch(List list , Object obj);集合折半查找,找不到返回负的插入点-1,(针对List集合的,因为只有List才会有索引);

ArrayList 工具类的另外一个用法:

asList把数组转成集合,返回List集合

注意: 1,数组变成集合之后不能修改集合的长度,但是可以使用reverse修改内容;

2,集合不收基本数据类型,所以要用基本类型的包装类.

 

day19 集合MAp

标签:

原文地址:http://www.cnblogs.com/elevenliu/p/4705937.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!