您的位置:首页 > 其它

Map集合的各种使用方法附带keySet()和entrySet()的使用

2016-09-30 16:45 537 查看
说明:map集合创建对象的时候创建一个子类对象map对应有(hashMap,TreeMap,Hashtable);

一、例子一:

1、keySet()的使用:

Map<String, String> map = new HashMap<String, String>();
map.put("01", "zhangsan1");
map.put("02", "zhangsan2");
map.put("03", "zhangsan3");
map.put("04", "zhangsan4");

// 先获取map集合中的所有键的集合keyset();
Set<String> keySet = map.keySet();

Iterator<String> iterator = keySet.iterator();
String content = "";
while (iterator.hasNext()) {
String next = iterator.next();
String string = ma
4000
p.get(next);
String contents = "";
if (iterator.hasNext()) {
contents = next + "=" + string + "&";
} else {
contents = next + "=" + string;
}
System.out.println(contents);
content += contents;
}
System.out.println(content);

2.entrySet()的使用

Map<String, String> map = new HashMap<String, String>();
map.put("01", "zhangsan1");
map.put("02", "zhangsan2");
map.put("03", "zhangsan3");
map.put("04", "zhangsan4");
// 将map集合中的映射关系取出,存入到set集合中。
Set<Entry<String, String>> entrySet = map.entrySet();

Iterator<Entry<String, String>> iterator = entrySet.iterator();
while (iterator.hasNext()) {
Entry<String, String> next = iterator.next();
String key = next.getKey();
String value = next.getValue();

System.out.println("key:" + key + " value:" + value);
}
二、例子二:

HashMap<Student, String> map = new HashMap<Student, String>();
map.put(new Student("张三", 21), "杭州");
map.put(new Student("李四", 22), "北京");
map.put(new Student("张五", 23), "广州");
map.put(new Student("李三", 24), "上海");
map.put(new Student("小李子", 25), "江西");

Set<Student> keySet = map.keySet();
Iterator<Student> iterator = keySet.iterator();
while (iterator.hasNext()) {
Student next = iterator.next();
String string = map.get(next);

System.out.println(next.getName()+" "+next.getAge()+" "+string);
}
System.out.println("***************************************");

Set<Entry<Student, String>> entrySet = map.entrySet();
Iterator<Entry<Student, String>> iterator2 = entrySet.iterator();

while (iterator2.hasNext()) {
Entry<Student, String> next = iterator2.next();
Student key = next.getKey();
String value = next.getValue();
System.out.println(key.getName()+" "+key.getAge()+" "+value);
}
创建的student类:

public class Student implements Comparable<Student> {
private String name;
private int age;

public Student(String name, int age) {
this.name = name;
this.age = 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 * 34;
}

public boolean equals(Object obj) {
if (!(obj instanceof Student)) {
throw new ClassCastException("类型不匹配");
}
Student s = (Student) obj;
return this.name.equals(s.name) && this.age == s.age;
}

public String toString() {
return "name:" + this.name + "age:" + this.age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}
}
三、例子三:

HashMap<String, ArrayList<Student>> newHashMap = new HashMap<String, ArrayList<Student>>();

ArrayList<Student> list = new ArrayList<Student>();
list.add(new Student("张三", 001));
list.add(new Student("李四", 002));
list.add(new Student("王麻子", 003));

newHashMap.put("老子呵呵。。。", list);
newHashMap.put("他爹哈哈。。。", list);

Iterator<String> iterator = newHashMap.keySet().iterator();
while (iterator.hasNext()) {
String next = iterator.next();
System.out.println(next);
ArrayList<Student> arrayList = newHashMap.get(next);
getArraylist(arrayList);
}
上面使用的getArray类:
public static void getArraylist(ArrayList<Student> list){
Iterator<Student> iterator = list.iterator();
while (iterator.hasNext()) {
Student next = iterator.next();
System.out.println(next.getName()+" : "+next.getAge());
}
}
四、例子四:

HashMap<String, HashMap<String, String>> map = new HashMap<String, HashMap<String, String>>();

HashMap<String, String> yureMap = new HashMap<String, String>();

HashMap<String, String> zhenMap = new HashMap<String, String>();

map.put("碉堡了", yureMap);
map.put("厉害", zhenMap);

yureMap.put("01", "liuping");
yureMap.put("02", "diaobao");
yureMap.put("03", "lisi");

zhenMap.put("01", "liuping");
zhenMap.put("02", "liuping2");
zhenMap.put("04", "liuping4");
zhenMap.put("03", "liuping3");

Iterator<String> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
String next = iterator.next();
HashMap<String, String> hashMap = map.get(next);
System.out.println(" "+next);
getEnteny(hashMap);
}
上面使用到的getEnteny():

public static void getEnteny(HashMap<String, String> map) {
Set<String> keySet = map.keySet();
Iterator<String> iterator = keySet.iterator();
while (iterator.hasNext()) {
String next = iterator.next();
String string = map.get(next);
System.out.println(next + " : " + string);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hashmap