一、Map
1.Map接口概述
Map 双列集合 键(key) 值(value) 一个键 映射到一个值 键是不可以重复的,值可以重复
2.方法应用
Map接口部分常用方法应用如下
public static void main(String[] args) {
HashMap<String,String> map = new HashMap<>();
map.put("a","a");
map.put("x","b");
map.put("h","b");
map.put("c","b");
map.put("b","b");
map.put(null,"b");
System.out.println(map.put("c","c"));//向map中添加键和对应的值,并返回所存在重复键的值,没有重复返回null
System.out.println(map.remove("c"));//根据键删除键值映射,返回值
// map.clear();清空
System.out.println(map.containsKey("c"));//查找是否有c键
System.out.println(map.containsValue("b"));//查找是否有b值
System.out.println(map.isEmpty());//判断是否为空
System.out.println(map.size());//获取长度
System.out.println(map.get("6"));//获取x键对应的值
Collection<String> values = map.values();//获取所有值
Set<String> keySet = map.keySet();//获取所有键
System.out.println(keySet);
System.out.println(values);
System.out.println(map);
}
3.HashMap、TreeMap与HashTable的特点
HashMap key值不能重复,键是无序的,允许出现一个为null的键
TreeMap 可以根据键进行排序 键的类型必须要实现Comparable接口,提供排序方法
Hashtable 键值对,键不能重复,值可以重复,键是无序的,不能存储为null的键
4.遍历
方式1:根据键找值 获取所有键的集合 遍历键的集合,获取到每一个键 根据键找值 方式2:根据键值对对象找键和值 获取所有键值对对象的集合 遍历键值对对象的集合,获取到每一个键值对对象 根据键值对对象找键和值
二、Collections类
Collections是集合类的工具类,与数组的工具类Arrays类似
部分方法应用如下
public static void main(String[] args) {
ArrayList<Integer> arrayList = new ArrayList<>();
ArrayList<Integer> arrayList1 = new ArrayList<>();
arrayList1.add(10);
arrayList1.add(10);
arrayList1.add(10);
arrayList1.add(10);
arrayList1.add(10);
arrayList1.add(10);
arrayList1.add(10);
arrayList1.add(10);
arrayList1.add(10);
arrayList1.add(10);
arrayList.add(2);
arrayList.add(1);
arrayList.add(3);
arrayList.add(4);
arrayList.add(5);
arrayList.add(6);
arrayList.add(7);
arrayList.add(8);
arrayList.add(9);
arrayList.add(10);
System.out.println(Collections.binarySearch(arrayList, 5));
Collections.sort(arrayList);
// Collections.sort(arrayList,{});
System.out.println(arrayList);
Collections.swap(arrayList,0,1);
System.out.println(arrayList);
Collections.copy(arrayList1,arrayList);
System.out.println(arrayList);
System.out.println(arrayList1);
Collections.addAll(arrayList,50,60,70);
System.out.println(arrayList);
List list = Collections.emptyList();
Collections.fill(arrayList1,1);
System.out.println(arrayList1);
System.out.println(Collections.max(arrayList));
System.out.println(Collections.min(arrayList));
Collections.replaceAll(arrayList1,1,6);
System.out.println(arrayList1);
Collections.reverse(arrayList);
System.out.println(arrayList);
Collections.shuffle(arrayList);
System.out.println(arrayList);
}
int...b可变长度的参数
本质是数组
一个参数列表中只能出现一个可变长度的参数
可变长度的参数必须放在参数列表的末尾