Java -- 集合Map

来源:互联网 发布:手机网络测试软件 编辑:程序博客网 时间:2024/06/16 19:50
public class Test_Map {
// key必须是同一类型,value可以不同类型

// @Test
public void Test1(){
// key用set存放的,不可重复,value是用Collection来存放的,可重复
Map map = new HashMap();
map.put("AA", 123);
map.put("BB", 456);
map.put("BB", 231);
map.put(789, "CC");
map.put(null, null);//HashMap可以存null键和null值
map.put(new Person("DD", 17), 100);
map.put(new Person("DD", 17), 100);
System.out.println(map.size());//4
System.out.println(map);

map.remove("BB");//根据key删除元素
System.out.println(map);

Object value = map.get(789);
System.out.println(value);

System.out.println();
}

// @Test
public void Test2(){
// Map遍历
Map map = new HashMap();
map.put("AA", 123);
map.put("BB", 456);
map.put(789, "CC");
map.put(null, null);//HashMap可以存null键和null值
map.put(new Person("DD", 17), 100);

// 1.遍历key 增强for方法
Set set = map.keySet();
for(Object object : set){
System.out.println(object);
}
System.out.println();

// 2.遍历value 迭代器方法
Collection values = map.values();
Iterator i = values.iterator();
while(i.hasNext()){
// System.out.println(i.next());
}
System.out.println();

// 3.如何遍历key-value对
// 方式一:
Set set1 = map.keySet();
for(Object object : set1){
System.out.println(object + "-->" + map.get(object));
}
System.out.println();

// 方式二:
Set set2 = map.entrySet();
for(Object object : set2){
Map.Entry entry = (Entry) object;
// System.out.println(entry.getKey() + "--" + entry.getValue());
// System.out.println(entry);
System.out.println();
}

}

// @Test
public void Test3(){
Map map = new LinkedHashMap();
map.put("AA", 123);
map.put("BB", 456);
map.put(789, "CC");
map.put(null, null);//HashMap可以存null键和null值
map.put(new Person("DD", 17), 100);

// 按照添加的顺序遍历
Set set = map.keySet();
for(Object object : set){
System.out.println(object);
}
System.out.println();
}

@Test
public void Test4(){
Map map = new TreeMap();
map.put(new Person("AA",23), 89);
map.put(new Person("MM",22), 79);
map.put(new Person("GG",23), 99);
map.put(new Person("JJ",13), 88);

Set set = map.keySet();
for(Object object : set){
System.out.println(object + "-->" + map.get(object));
}

}

// @Test
public void Test5(){
Comparator com = new Comparator(){


public int compare(Object o1, Object o2) {
if(o1 instanceof Customer && o2 instanceof Customer){
Customer c1 = (Customer) o1;
Customer c2 = (Customer) o2;
int i = c1.getId().compareTo(c2.getId());
if(i == 0){
return c1.getName().compareTo(c2.getName());
}
return i;
}
return 0;
}
};
TreeMap map = new TreeMap(com);
map.put(new Person("AA",23), 89);
map.put(new Person("MM",22), 79);
map.put(new Person("GG",23), 99);
map.put(new Person("JJ",13), 69);

// for (Object str : map) {
// System.out.println(str);
// }
}

// @Test
// 使用Properties处理属性文件
public void Test6() throws FileNotFoundException, IOException{
Properties pros = new Properties();
pros.load(new FileInputStream(new File("jdbc.Properties")));
String user = pros.getProperty("user");
System.out.println(user);
}
原创粉丝点击