Map双列集合
key 键
value 值
方法:
put(K, V) //判断key值是否相等,相等,覆盖元素,不相等,存储
remove(K)
Map集合的遍历(不要看到java提供了很多方法做一件事,其实底层都是用的一个方法(方法调用))
A: keySet() //返回所有的key值,装入一个set集合中
Set<E> set = map.keySet();
遍历set集合,取出所有的key值,得到相应的value
for(E key : set){
E value = map.get(key);
System.out.println(key + ".." + value);
}
B: entrySet() //返回所有的键值对对象,并将其装入到一个集合中
Set<Map.Entry<K, V>> set = map.entrySet();
遍历集合,取出每一对键值对对象Entry
for(Map.Entry<K, V> entry : set){
K key = entry.getKey();
V value = entry.getValue();
System.out.println(key + ".." + value);
}
LinkedHashMap:
HashMap的子类,只是多了一个链表,是集合变得有序
返回的集合应该是一个LinkedHashSet集合
可变参数:
底层就是一个数组,用来接收方法需要很多个同种数据类型
public static int getSum(int...a){
int sum = 0;
for(int i = 0; i < a.length; i++){
sum += a[i];
}
return sum;
}
A:一个方法中只能有一个可变参数
B:如果方法中有可变参数,可变参数只能放在最后
静态导入:
import java.util.Map.Entry;
导入之后可以直接使用内部类等
Collections: 集合工具类
方法:
shuffle(List<E> list) //对指定的list集合中元素的进行打乱
sort(List<E> list) //将指定list集合中的元素进行自然排序,排序是使用的数组的排序,数字是按大小,字符串是看首字母的ASCLL值,其它的没研究
Arrays: 数组工具类
sort(基本数据类型[] arr); //自然排序
toString(数组); //返回此数组的字符串表现形式
集合嵌套:
HashMap<E, ? extends HashMap<K, V>> map = new HashMap<E, ? extends HashMap<K, V>>();
准备数据的时候,从最内部的集合做起
遍历集合,从最外部的集合开始遍历