package com.cn3;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class MapDemofor {
public static void main(String[] args) {
Map<String,String> map = new HashMap<String, String>();
map.put("yyy","ttt");
map.put("yyy1","ttt3");
map.put("yyy2","ttt4");
//1\
//获取所有键的集合,用keyset方法实现
Set<String> keySet = map.keySet();
//遍历集合,获取每一个键,用增强for实现
for(String key :keySet){
//map.get方法
String value = map.get(key);
System.out.println(key+"--"+value);
}
}
}
package com.cn4;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class HashMapdemo {
public static void main(String[] args) {
// HashMap<类型,值>
HashMap<String,Student> hashMap = new HashMap<String,Student>();
Student s = new Student("xiaoyang",12);
Student s1 = new Student("xiaoyang1",13);
Student s2 = new Student("xiaoyang2",14);
hashMap.put("y1",s);
hashMap.put("y2",s1);
hashMap.put("y3",s2);
// hashMap.put(s2,"y3"); 因为在上面的hashmap里已经定了类型和值分别为什么
//1\根据键找值
Set<String> keyset = hashMap.keySet();
for (String key :keyset){
Student value = hashMap.get(key);
System.out.println(key + value.getName()+value.getAge());
}
System.out.println("-----------");
//2\键值对对象找键和值
Set<Map.Entry<String, Student>> entries = hashMap.entrySet();
for (Map.Entry<String, Student> student: entries){
String key = student.getKey();
Student value = student.getValue();
System.out.println(
key+"--"+value.getName()+","+value.getAge()
);
}
}
}
package com.cn4;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class SuperMap {
public static void main(String[] args) {
HashMap<Student,String> hs = new HashMap<Student,String>();
Student s = new Student("yyy",12);
Student s1 = new Student("yyy1",13);
Student s2 = new Student("yyy2",15);
//把血汗俄国添加到集合 s是对象 然后加入
hs.put(s,"nannning");
hs.put(s1,"shanghai");
hs.put(s2,"beijing");
//1、、、、
Set<Map.Entry<Student, String>> entries = hs.entrySet();
for(Map.Entry<Student, String> m:entries){
Student key = m.getKey();
String value = m.getValue();
System.out.println(key.getName()+",,"+key.getAge()+"--"+value);//为什么我的value不可以用get方法
}
//2、、、、
Set<Student> keySet = hs.keySet();
for(Student key:keySet){
String value = hs.get(key);
System.out.println(key.getName()+",,"+key.getAge()+value);
}
}
}
//arraylist集合中有三个元素,然后这三个元素中分别有两个键值对组成 //反过来看,就是我们需要创建三个两两由hashmap组成的元素 再加入进去 //创建hashmap集合,并添加键值对元素
遍历arraylist集合 里面的由三个元素 每个元素都由hashmap组成,两条字符添加在一个hashmap里~
package com.cn5;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
public class Mapdemo {
public static void main(String[] args) {
ArrayList<HashMap<String,String>> array = new ArrayList<HashMap<String,String>>();
//arraylist集合中有三个元素,然后这三个元素中分别有两个键值对组成
//反过来看,就是我们需要创建三个两两由hashmap组成的元素 再加入进去
//创建hashmap集合,并添加键值对元素
HashMap<String,String> hm1 = new HashMap<String, String>();
hm1.put("孙策","大乔");
hm1.put("周瑜","小乔");
array.add(hm1);
HashMap<String,String> hm2 = new HashMap<String, String>();
//把HashMap作为元素添加到ArrayList集合
array.add(hm1);
hm2.put("孙策2","大乔2");
hm2.put("周瑜2","小乔2");
array.add(hm2);
HashMap<String,String> hm3= new HashMap<String, String>();
//把HashMap作为元素添加到ArrayList集合
array.add(hm2);
hm3.put("孙策3","大乔3");
hm3.put("周瑜3","小乔3");
//把HashMap作为元素添加到ArrayList集合
array.add(hm3);
//遍历arraylist集合 里面的由三个元素 每个元素都由hashmap组成,两条字符添加在一个hashmap里~
for(HashMap<String,String> hashMap:array){
Set<String> keySet = hashMap.keySet();
for(String key:keySet){
String value = hashMap.get(key);
System.out.println(key+","+value);
}
}
}
}
package com.cn5;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
public class ArrayDemo {
public static void main(String[] args) {
HashMap<String, ArrayList<String>> s = new HashMap<String, ArrayList<String>>();
//创建一个arraylist的数组对象
ArrayList<String> sanguo = new ArrayList<String>();
//在三国这个数组里add方法加入两个元素
sanguo.add("zhugeliang");
sanguo.add("zhaoyun");
//用hashmap调用put方法,将sanguo这个value加入到“sanguoyanyi”hashmap中成为一个元素
s.put("sanguoyanyi",sanguo);
ArrayList<String> xiyouji = new ArrayList<String>();
xiyouji.add("tangseng");
xiyouji.add("sunwukong");
s.put("xiyouji",xiyouji);
ArrayList<String> shuihuzhuan = new ArrayList<String>();
shuihuzhuan.add("wusong");
shuihuzhuan.add("luzhishen");
s.put("shuihuzhuan",shuihuzhuan);
//1\set
//先遍历hashmap
// for(String key:keySet){
// ArrayList<String> value = s.get(key);
// System.out.println(key);
// //array的内容也需要遍历
// for(String s1:value){
// System.out.println(s);
// }
// }
//要用hashmap去调用keyset方法,去获取键的集合;
Set<String> keySet = s.keySet();
//for循环首先要对外面的hashmap去遍历 for(hashmap的类型 取名 :遍历的对象名)
for(String key:keySet){
//输出键
System.out.println(key);
//用hashmap去调用get方法,获取arraylist的值
ArrayList<String> value = s.get(key);
//for循环(arraylist的类型 名称:遍历的对象名)
for(String v :value){
System.out.println(v);
}
}
//因为sout的位置不一样 也会造成输出不一样的结果
}
}