Map
一. 概述:
a. 就是字典
b. Interface Map<K, V> ,是个接口,key、value
Map<String, String> map = new HashMap<>();
// 增
map.put("name", "zhangsan");
map.put("addr","nanjing");
map.put("phone","110");
System.out.println(map);
System.out.println("--------");
// 删
map.remove("phone");
System.out.println(map);
System.out.println("--------");
// 改
map.put("addr","shanghai");
System.out.println(map);
System.out.println("--------");
// 查
System.out.println(map.containsKey("addr"));
System.out.println(map.containsValue("shanghai"));
System.out.println(map.size());
// 清除
map.clear();
System.out.println(map);
System.out.println("--------");
// 是否为空
System.out.println(map.isEmpty());
二. 特殊的
get() // 根据k,查v
keySet() // 返回所有key,因为是不重复的,所有返回set集合
values() // 获取所有的value,因为可能重复,所以返回collection集合
Map<String, String> map = new HashMap<>();
map.put("name", "zhangsan");
map.put("addr","nanjing");
map.put("phone","110");
// 查
System.out.println(map.get("name"));
// 获取所有的key ,因为是不重复的,所有返回set集合
Set<String> strings = map.keySet();
System.out.println(strings);
// 获取所有的value,因为可能重复,所以返回collection集合
Collection<String> values = map.values();
for(String s: values) {
System.out.println(s);
}
三 . 遍历
遍历方式一
//创建集合对象
Map<String, String> map = new HashMap<String, String>();
//添加元素
map.put("张无忌", "赵敏");
map.put("郭靖", "黄蓉");
map.put("杨过", "小龙女");
// 拿到所有的key
Set<String> set = map.keySet();
// 遍历key,让key去找value
for (String s: set) {
System.out.println("key = " + s + ", value = " + map.get(s));
/*
key = 杨过, value = 小龙女
key = 郭靖, value = 黄蓉
key = 张无忌, value = 赵敏
*/
}
遍历方式2
a. -entrySet 返回Map.Entry<k, v> 对象
b. 通过getKey(), getValue() 获取元素
//创建集合对象
Map<String, String> map = new HashMap<String, String>();
//添加元素
map.put("张无忌", "赵敏");
map.put("郭靖", "黄蓉");
map.put("杨过", "小龙女");
Set<Map.Entry<String, String>> entries = map.entrySet();
for (Map.Entry<String, String> me: entries) {
String k = me.getKey();
String v = me.getValue();
System.out.println("k = " + k + ", v = " + v);
/*
k = 杨过, v = 小龙女
k = 郭靖, v = 黄蓉
k = 张无忌, v = 赵敏
*/
}
四. Collections 排序方法
- sort() 从小到大排序
- reverse() 按添加顺序,反序排序
- shuffle() 随机排序
List<Integer> li = new ArrayList<>();
li.add(1);
li.add(10);
li.add(30);
li.add(50);
li.add(100);
li.add(90);
Collections.sort(li);
System.out.println(li); // [1, 10, 30, 50, 90, 100]
Collections.reverse(li); // [100, 90, 50, 30, 10, 1]
System.out.println(li);
Collections.shuffle(li);
System.out.println(li); // [30, 50, 10, 100, 1, 90]
- sort(list,compare)
public static void main(String[] args) {
//创建ArrayList集合对象
ArrayList<Student> array = new ArrayList<Student>();
//创建学生对象
Student s1 = new Student("张三", 30);
Student s2 = new Student("李四", 35);
Student s3 = new Student("王五", 33);
Student s4 = new Student("赵柳", 33);
//把学生添加到集合
array.add(s1);
array.add(s2);
array.add(s3);
array.add(s4);
Collections.sort(array, new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
int num = s1.getAge() - s2.getAge();
num = num != 0? num : s1.getName().compareTo(s2.getName());
return num;
}
});
System.out.println(array);
}
五. 总结
来源:CSDN
作者:ZMW_iOS
链接:https://blog.csdn.net/ZMW_IOS/article/details/103687695