@liruiyi962464
2017-03-21T04:06:10.000000Z
字数 3026
阅读 480
java
//通过keySet()来获得key,然后遍历Value
Set<Integer> keySet = hashMap.keySet();
for (Integer integer : keySet) {
System.out.println(integer+"<------>"+hashMap.get(integer));
}
//通过value输出
Collection<String>value = hashMap.values();
for (String string : value) {
System.out.println(string);//不可以根据value获取key值
}
//通过键值对(Entry) 返回key,和value
Set<Entry<Integer, String>> entrySet = hashMap.entrySet();
for (Entry<Integer, String> entry : entrySet) {
System.out.println(entry.getKey()+"<------>"+entry.getValue());
}
- 是一个存储关键字的/值得对象,关键字和元素都可以为对象
- 关键字是唯一的,只可以重复
- 有些映射可以接收null关键字和null值,而有的不行
- 下面的接口支持映射
接口 | 描述 |
---|---|
Map | 映射唯一关键字给的值 |
Map.Entey | 描述映射中的元素(关键字/值对)这是Map的一个内部类 |
SortedMap | 扩展Map以便关键字按升序保持 |
- Map.Entry 接口代表映射(键-值对)类型,是Map的嵌套类型
- Map接口定义的entrySet()方法返回包含映射项的Entry的集合(Set),集合中的元素师Map.Entry
- Map.Entry 接口定义的方法
K getKty()
K getValue()
V setValue(V value)
- 散射映射不能保证元素输出的顺序
- 元素加入散射映射的顺序不一定是他们被迭代读出的顺序
HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
hashMap.put(1, "a");
hashMap.put(1, "b");
//当俩个key一样时 覆盖旧的值
//key值是唯一确定的,出现重复时覆盖旧值
System.out.println(hashMap);
hashMap.put(2, "c");
hashMap.put(3, "c");
//value可以重复
System.out.println(hashMap);
//通过key获得value
System.out.println(hashMap.get(2));
//通过key值删除value
System.out.println(hashMap.remove(2));
System.out.println(hashMap);
//通过keySet()来获得key,然后遍历Value
Set<Integer> keySet = hashMap.keySet();
for (Integer integer : keySet) {
System.out.println(integer+"<------>"+hashMap.get(integer));
}
//通过value输出
Collection<String>value = hashMap.values();
for (String string : value) {
System.out.println(string);//不可以根据value获取key值
}
//返回key,和value
Set<Entry<Integer, String>> entrySet = hashMap.entrySet();
for (Entry<Integer, String> entry : entrySet) {
System.out.println(entry.getKey()+"<------>"+entry.getValue());
}
- 提供按排序顺序存储关键字/值的对象
- 允许快速检索
- 树映射保证它的元素按关键字升序排序
TreeMap<Integer, String> treeMap = new TreeMap<Integer, String>();
//按照key排序
treeMap.put(1, "一");
treeMap.put(2, "二");
treeMap.put(3, "三");
treeMap.put(4, "四");
System.out.println(treeMap);
//遍历.通过key值
Set<Integer> keySet = treeMap.keySet();
for (Integer integer : keySet) {
System.out.println(integer+"<-----1----->"+treeMap.get(integer));
}
//遍历.通过value值
Collection<String> values = treeMap.values();
for (String string : values) {
System.out.println(string);//不可以根据value获取key值
}
//遍历返回key,和value
Set<Entry<Integer, String>> entrySet = treeMap.entrySet();
for (Entry<Integer, String> entry : entrySet) {
System.out.println(entry.getKey()+"<-----3----->"+entry.getValue());
}
//返回一个与此映射中的最小键关联的键-值映射关系;如果映射为空,则返回 null。
System.out.println(treeMap.firstEntry());
//返回此映射中当前第一个(最低)键。
System.out.println(treeMap.firstKey());
//返回一个键-值映射关系,它与小于等于给定键的最大键关联;如果不存在这样的键,则返回 null。
System.out.println(treeMap.floorEntry(2));
//返回小于等于给定键的最大键;如果不存在这样的键,则返回 null。
System.out.println(treeMap.floorKey(2));
//返回一个键-值映射关系,它与大于等于给定键的最小键关联;如果不存在这样的键,则返回 null
System.out.println(treeMap.ceilingEntry(1));
// 返回大于等于给定键的最小键;如果不存在这样的键,则返回 null
System.out.println(treeMap.ceilingKey(1));
//返回此 TreeMap 实例的浅表副本
System.out.println(treeMap.clone());
//返回对此映射中的键进行排序的比较器;如果此映射使用键的自然顺序,则返回 null
treeMap.comparator();
System.out.println(treeMap);
//从此映射中移除所有映射关系。
treeMap.clear();
System.out.println(treeMap);