JAVA集合学习-----Map

上一篇 / 下一篇  2013-05-13 23:43:50 / 个人分类:JAVA学习

Map<K,V>集合:该集合存储键值对,是一对一对,保证键值唯一性
1、增加
put(K key,V value)---put会返回原来的值
putAll(Map<? extends K,? extends V>)
2、删除
claer();
remove(obj key)
3、判断
boolean containsKsy(obj key)
biilean containsValue(obj value)
4、获取
get(obj key)
size()长度
values()获取
entrySet()
keySet()

Map
---HashTab:底层是哈希表数据结构,不可以存入null键null值,该集合是线程同步,效率低
---HashMap:底层是哈希表数据接口,允许使用null键null值,该集合是不同步的,效率高
---TreeMap:底层是二叉树数据结构,线程不同步,可以用于给Map集合中的键进行排序
import java.util.*
class MapDemo{
  public static void main(String args[])
  {
  Map<String,String> map = new HashMap<String,String>
//添加元素如果出现相同的键,后添加的值会添加原有的键对应的值
//并put方法会返回被覆盖的值
 System.out.println( map.put("01","s1"));---打印null
  System.out.println(map.put("01","ssss"));---打印s1

  map.put("02","s2");
  map.put("03","s3");
  map.containsKey("002");

  map.remove("02");
  map.get("03");---获取值,判断是否存在

  map.put(null,"sss");
  map.get(null);
  map.put("05",null);
  map.get("05");
  
  Collection<String> co =map.values();---将获取到的值传给集合
  }
}

Map的取出方式
1.keyset<K>:将map中所有的键存入到set集合。因为set具备迭代器
          所有可以迭代方式取出的所有的键,再根据get方法,获取每一个键对           应的值
先获取map集合的所有键的Set集合,keySet();
Map<String,String> map = new HashMap<String,String>
Set<String> keySet = map.keySet();
Iterator<String> it =keySet.iterator();
while(it.hasNext())
{
  String key = it.next();
  有了键可以通过map集合的get方法获取对应的值
   String value =map.get(key);
   System.out.println(key+value);
}
2、Set<Map.Entry<k,v>> entrySet:将map集合中的映射关系存入到set集合中,而这个关系的数据类型就是:Map.Entry(Set集合中的实例对象)
Map<String,String> map = new HashMap<String,String>
Set<Map.Entry<String,String>> entrySet = map.entrySet();--将map集合中的映射关系取出
Iterator<Map.Entry<String,String>>  it = entrySet.iterator();
while(it.hasNext())
{
 Map.Entry<String,String> me =it.next();---关系对象
 String key= me.getKey();--获取键
 String value=me.getValue();--获取值
}

TAG:

 

评分:0

我来说两句

日历

« 2024-04-10  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 9972
  • 日志数: 20
  • 建立时间: 2013-03-24
  • 更新时间: 2014-03-22

RSS订阅

Open Toolbar