java 基础--集合

来源:互联网 发布:网络剧《有毒》在线播 编辑:程序博客网 时间:2024/05/17 08:06

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();
}
}

0 0
原创粉丝点击