一.Map
1.1 特点:无序、以键值对的形式添加元素,键不能重复,值可以重复
它没有继承Collection接口
1.2 遍历
1.2.1 先取出保存所有键的Set,再遍历Set即可(2种)
1.2.2 先取出保存所有Entry的Set,再遍历此Set即可
package com.zking.collection_03.util;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
/**
* 课堂代码1
* @author Administrator
*
*/
public class Demo1 {
public static void main(String[] args) {
//Collection接口是集合框架中的顶级接口
//Map
//1.特点:无序,以键值对的形式存储数据,键不能重复(唯一),值可以重复(可以不唯一)
Map<String,Object> map=new HashMap<>();
map.put("name", "哈哈");
map.put("sex", "男");
map.put("age", 11);
//当键相同时,值会覆盖
map.put("name", "嘻嘻");
map.put("score", 11);
System.out.println(map);
//遍历方式
//1 获取所有的键keys
System.out.println("----------1 获取所有的键keys-----------");
Set<String> keys = map.keySet();
for (String k : keys) {
System.out.println(k);
}
//2 获取所有的值 values
System.out.println("----------2 获取所有的值 values-----------");
Collection<Object> values = map.values();
for (Object object : values) {
System.out.println(object);
}
//3 获取所有的值 values
System.out.println("----------3 获取所有的值 values-----------");
Set<Entry<String,Object>> entrySet = map.entrySet();
for (Entry<String, Object> entry : entrySet) {
System.out.println(entry.getKey()+"="+entry.getValue());
}
System.out.println("----------jdk1.8-----------");
//jdk1.8
entrySet.forEach(e->{
System.out.println(e.getKey()+"="+e.getValue());
});
}
}
二.其他
Collections:工具类,提供一组静态方法操作Collection集合
Arrays:工具类,提供了一组静态方法操作数组
package com.zking.collection_03.util;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
/**
* 课堂案例2
* @author Administrator
*
*/
public class Demo2 {
public static void main(String[] args) {
//TreeMap
//1 以键排序 (升序降序)
//默认按照键的升序进行排序操作 Comparator.reverseOrder() 实现降序
Map<String,Object> map=new TreeMap<>();
map.put("aa", 110);
map.put("bb", 120);
map.put("cc", 100);
System.out.println(map);
//2 以值排序
//获取键值对
Set<Entry<String,Object>> entrySet = map.entrySet();
//将键值对方式转换成List集合
List<Map.Entry<String,Object>> list=new ArrayList<>(entrySet);
//Collections:集合框架中的帮助类
//collection:集合框架顶级接口
Collections.sort(list, new Comparator<Entry<String,Object>>() {
@Override
public int compare(Entry<String, Object> a, Entry<String, Object> b) {
return a.getValue().hashCode()-b.getValue().hashCode();
}
});
list.forEach(System.out::println);
String str="1,2,3,4,5,6,7";
String[] split = str.split(",");
//将数组转换成集合
List<String> asList = Arrays.asList(split);
System.out.println(asList);
//将数据通过Arrays.toString方式转换成字符串
String string = Arrays.toString(split);
System.out.println(string);
}
}