一:是一个用来操作集合的工具类。
二:Collections提供的常用静态方法
addAll(collection<? super T> c,T... element) 给集合批量添加元素
shuffle(List<?> list) 打乱List集合中的元素顺序
sort(List<?> list) 对List集合中的元素进行升序排序
sort(List<?> list,Comparator<? super T> c) 对List集合中元素,按照比较器对象指定的规则进行排序
注意:Collections只能支持对List集合进行排序
3.示例:
import java.util.*;
public class CollectionsTest {
public static void main(String[] args) {
List<Integer> a = new ArrayList<>();
Collections.addAll(a, 123, 4561, 123, 14, 547, 56);//给集合批量添加元素
Collections.shuffle(a);//打乱List集合中的元素顺序
System.out.println(a);
List<Student> s = new ArrayList<>();
s.add(new Student("丁云珠",28,171));
s.add(new Student("李鹤声",64,173));
s.add(new Student("张云玉",33,169));
s.add(new Student("张军伟",34,172));
s.add(new Student("郑恩艳",30,170));
s.add(new Student("王珂",25,164));
// 使用前必须在对象类中制定一个比较规则否则会报错
Collections.sort(s);//对List集合中的元素进行升序排序
System.out.println(s);
Collections.sort(s, ( o1, o2) -> Double.compare(o1.getHeight(), o2.getHeight()));//对List集合中元素,按照比较器对象指定的规则进行排序。
System.out.println(s);
}
}
---------------------------------------------------------------------------------------------------------------------------------Map集合
一:认识Map集合
1.Map集合称为双集合,格式:{key1=value1,key2=value2,key3=value3,...},一次需要存一对数据作为一个元素。
2.Map集合的每个元素"key=key" 称为一个键值对/键值对对象/一个Entry对象,Map集合也被叫做“键值对集合”。
3.Map集合的所有键是不允许重复的,但值可以重复,键和值是一一对应的,每一个键都只能找到自己对应的值。
4.需要储存一一对应的数据时,就可以考虑使用Map集合来做
二:Map集合体系
1.
2.Map集合体系的特点
注意:Map系列集合的特点都是由键决定的,值只是一个附属品,值是不做要求的
·HashMap(由键决定特点):无序,不重复,无索引;(使用最多)
·LinkedHashMap(由键决定特点):有序,不重复,无索引。
·TreeMap(由键决定特点):按照大小默认升序排序,不重复,无索引。
3.示例:
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;
public class MapTest {
public static void main(String[] args) {
// Map<String,Integer> s = new HashMap<>();
Map<String,Integer> s = new LinkedHashMap<>();
s.put("java",20);//后面重复的数据会覆盖前面的数据(键)
s.put("手表", 18888);
s.put("手表",999);
s.put("手机", 2999);
System.out.println(s);
Map<Integer,String> ss = new TreeMap<>();
ss.put(55, "Java4");
ss.put(11, "Java3");
ss.put(22, "Java2");
ss.put(55, "Java1");
System.out.println(ss);
}
}
三:Map的常用方法
1.先学习Map的常用方法是因为Map是双列集合的祖宗,它的功能是全部双列集合都可以继承过来使用的。
2.Map的常用方法如下:
put(k key,V value) 添加元素
size() 获取集合的大小
clear() 清空集合
isEmpty() 判断集合是否为空,为空返回true,反之false
get(Object key) 根据键获取对应值
remove(Object key) 根据键删除整个元素
containsKey(Object Key) 判断是否包含某个键
containsValue(Object value) 判断是否包含某个值
keySet() 获取全部键的集合
values() 获取Map集合的全部值
putAll() 把其他同类型Map集合中的数据倾倒入调用该方法的集合中
3.示例:
import java.util.HashMap;
import java.util.Map;
public class MapTest2 {
public static void main(String[] args) {
Map<String,Integer> S = new HashMap<>();
S.put("java",20);
S.put("手表", 18888);
S.put("耳机",999);
S.put("手机", 2999);
S.put("戒指", 18888);
S.size();//获取集合大小
// S.clear();//清空集合
S.isEmpty();//判断集合是否为空,为空返回true,反之false
S.get("手表");//根据键获取对应值
S.remove("java");//根据键删除整个元素
S.containsKey("手机");//判断是否包含某个键
S.containsValue(999);//判断是否包含某个值
S.keySet();//获取全部键的集合
S.values();//获取Map集合的全部值
//扩展:把把其他Map集合中的数据倾倒入自己的集合中去
Map<Integer,Integer> C1 = new HashMap<>();
Map<Integer,Integer> C2 = new HashMap<>();
C1.put(12, 12);
C1.put(13, 13);
C2.put(14, 14);
C2.put(15, 15);
//使用putAll可将同类型的Map集合中的数据相互倾倒
C1.putAll(C2);
}
}