HashMap:
1.key使用Set来存放的,不可重复,value使用Collection来存放的,可重复
一个key-value对,是一个Entry,所有的Entry使用Set存放的,也是不可重复的
2.向HashMap中添加元素时,会调用key所在类的equals()方法,判断两个key是否相同
@Test
public void test(){
Map map = new HashMap();
map.put("AA", 123);
map.put("BB", 456);
//map.put("BB", 45);
map.put(123, "CC");
map.put(null, null);
map.put(new Person("DD",23), 89);
map.put(new Person("DD",23), 87);
System.out.println(map.size());
System.out.println(map);
map.remove("BB");
System.out.println(map);
Object value = map.get(123);
System.out.println(value);
}
@Test
public void test2(){
Map map = new HashMap();
map.put("AA", 123);
map.put("BB", 456);
//map.put("BB", 45);
map.put(123, "CC");
map.put(null, null);
map.put(new Person("DD",23), 89);
map.put(new Person("DD",23), 87);
1.遍历key键
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());
}
}
//@Test
public void test3(){
Map map = new LinkedHashMap();
map.put("AA", 123);
map.put("BB", 456);
//map.put("BB", 45);
map.put(123, "CC");
map.put(null, null);
map.put(new Person("DD",23), 89);
map.put(new Person("DD",23), 87);
Set set = map.entrySet();
for (Object object : set) {
System.out.println(object);
}
}
//@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),69);
Set set = map.keySet();
for (Object object : set) {
System.out.println(object+"-->"+map.get(object));
}
}
//@Test
public void test5(){
Comparator com = new Comparator() {
@Override
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.getName().compareTo(c2.getName());
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);
Set set = map.keySet();
for (Object o : set) {
System.out.println(o);
}
}
@Test
public void test6() throws FileNotFoundException, IOException{
//使用Properties处理属性文件
Properties p = new Properties();
p.load(new FileInputStream(new File("jdbc.properties")));
String user = p.getProperty("user");
System.out.println(user);
}
}