------- android培训、java培训、期待与您交流! ----------
Map集合:高集合存储键值对,一对一对往里存,而且要保证键的唯一性。
1,添加。
put(k key,v value);
putAll(Map<? extends K,? extends V> m);
2,删除。
clear();
remove(Object key);
3,判断。
containsValue(Object value);
containsKey(Object key);
isEmpty();
4,获取。
get(Object key);
size();
values();
entrySet()
keySet()
Map
|--Hashtable:底层是哈希表数据结构,不可以存入null键和null值,该集合是线程同步的。jdk1.0效率低
|--HashMap: 底层是哈希表数据结构,允许使用null键和null值,该集合是线程不同步的。jdk1.2效率高
|--TreeMap:底层是二叉树数据结构,线程不同步。可以用于给map集合中的键排序
和set很像。
其实大家,set底层就是使用了Map集合。
例子:
import java.util.*;
/*
1,描述学生。
2,定义map容器。将学生作为键,地址作为值,存入。
3,获取map集合中的元素。
*/
class
{
public static void sop(Object obj){
System.out.println(obj);
}
public static void main(String[] args){
HashMap<Student,String> hm = new HashMap<Student,String>;
hm.put(new Student("chenjl01",21),"beijing");
}
}
class Student
{
private String name;
private int age;
Student(String name,int age){
this.name = name;
this.age = age;
}
public boolean equals(Object obj){
if(!(obj instanceof Student))
return new ClassCastException("类型不匹配");
Student s = (Student)obj;
return this.name.equals(s.name) && this.age.equals(s.age);
}
public int compareTo(Student s){
int num = new Integer(this.age).compareTo(new Integer(s.age));
if(num == 0)
return this.name.compareTo(s.name);
return num;
}
public int hashCode(){
return name.hashCode()+age*35;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
}
------- android培训、java培训、期待与您交流! ---------- 详细请查看:http://edu.csdn.net/heima/