package com.study.map;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import com.zll.test.main1;
public class MapTest {
public static void test1() {
// HashMap 如何保证key不重复 是由hashCode 和 equals 进行比较的
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "value1");
map.put(2, "value2");
map.put(3, "value3");
map.put(4, "value4");
map.put(1, "value5"); // 相同 key 是没有被添加进去
System.out.println("map中 是否有key :" + map.containsKey(1));
System.out.println("map中 是否有value :" + map.containsValue("value1"));
System.out.println(map.size()); // size()= 4 即使我添加5个 是因为 相同的key值
// 被最后一个给覆盖掉了
//遍历集合中 所有的value
Collection<String> coll = map.values();
for (String s :coll) {
System.out.println(s);
}
// 遍历 所有的key并且根据key 取出value key的特点 无序 且不能重复
Set<Integer> set = map.keySet();
Iterator<Integer> iter = set.iterator();
while(iter.hasNext()){
int key = iter.next();
String value = map.get(key);
System.out.println(key +"="+value);
}
// 将集合中的所有的 组合 拿出来 Entry 是 map中的一个内部类 调用内部类 也可以 Map.inner
Set<Map.Entry<Integer,String>> set1 = map.entrySet();
Set<Entry<Integer,String>> set11 = map.entrySet();
//hashmap 中的遍历 迭代
Iterator<Entry<Integer,String>> item = set11.iterator();
while(item.hasNext()){
// System.out.println(item.next());
Entry<Integer,String> entry = item.next();
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println(key +":"+value);
}
}
public static void main(String[] args) {
test1();
}
}
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import com.zll.test.main1;
public class MapTest {
public static void test1() {
// HashMap 如何保证key不重复 是由hashCode 和 equals 进行比较的
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "value1");
map.put(2, "value2");
map.put(3, "value3");
map.put(4, "value4");
map.put(1, "value5"); // 相同 key 是没有被添加进去
System.out.println("map中 是否有key :" + map.containsKey(1));
System.out.println("map中 是否有value :" + map.containsValue("value1"));
System.out.println(map.size()); // size()= 4 即使我添加5个 是因为 相同的key值
// 被最后一个给覆盖掉了
//遍历集合中 所有的value
Collection<String> coll = map.values();
for (String s :coll) {
System.out.println(s);
}
// 遍历 所有的key并且根据key 取出value key的特点 无序 且不能重复
Set<Integer> set = map.keySet();
Iterator<Integer> iter = set.iterator();
while(iter.hasNext()){
int key = iter.next();
String value = map.get(key);
System.out.println(key +"="+value);
}
// 将集合中的所有的 组合 拿出来 Entry 是 map中的一个内部类 调用内部类 也可以 Map.inner
Set<Map.Entry<Integer,String>> set1 = map.entrySet();
Set<Entry<Integer,String>> set11 = map.entrySet();
//hashmap 中的遍历 迭代
Iterator<Entry<Integer,String>> item = set11.iterator();
while(item.hasNext()){
// System.out.println(item.next());
Entry<Integer,String> entry = item.next();
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println(key +":"+value);
}
}
public static void main(String[] args) {
test1();
}
}