1. Map
1.1 特点:无序、以键值对的形式添加元素,键不能重复,值可以重复
它没有继承Collection接口
1.2 遍历
1.2.1 先取出保存所有键的Set,再遍历Set即可(2种)
1.2.2 先取出保存所有Entry的Set,再遍历此Set即可 (重要点)
2.HashMap与HashTable之间的区别
同步既排队 线程安全的 hashtable 键不可以为null,值也不能为null
异步 非安全的 hashmap 键可以为null,值也可以为null
3. 其它
3.1 Collections:工具类,提供一组静态方法操作Collection集合
3.2 Arrays:工具类,提供了一组静态方法操作数组
package com.zking.text;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class Demo01 {
public static void main(String[] args) {
Map<String, Object> map = new HashMap<String, Object>();//map键值对
map.put("狗狗", "老王");//增加键值对
map.put("猫猫", "大理石");
map.put("两年", "问问");
map.put("来问我", "嘎嘎嘎噶");
Set<String> keySet = map.keySet();//键是set集合
for (String key : keySet) {
System.out.println(key);//打印全部的键名
}
System.out.println("---------");
Collection<Object> values = map.values();//拿到map的值
for (Object va : values) {
System.out.println(va);//遍历所有的值
}
System.out.println("---------");
for (String key : keySet) {//遍历map键值对
System.out.println(key+"="+map.get(key));//键值对拼接
}
System.out.println("---------");
Set<Entry<String, Object>> entrySet = map.entrySet();
for (Entry<String, Object> entry : entrySet) {
System.out.println(entry);//用entry去遍历键值对
}
}
}
Arrays常用的方法
public static boolean equals(int[] a, int[] a2)? 判断两个数组是否相等
public static String toString(int[] a)? ? ? ? ? ? ? ? ?输出数组信息
public static void fill(int[] a, int val)? ? ? ? ? ? ? ? ?将指定值填充到数组之中
public static void sort(int[] a)? ? ? ? ? ? ? ? ? ? ? ? ? 将数组进行排序
public static int binarySearch(int[] a, int key)? 对排序后的数组进行二分法检索指定的值
Collections常用的方法
public static void reverse(List<?> list)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 反转list中元素的顺序
public static void shuffle(List<?> list)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 对list集合元素进行随机排序
public static <T extends Comparable<? super T>> void sort(List<T> list)? ?根据元素的自然排序对指定list集合元素按升序排序
public static <T> void sort(List<T> list, Comparator<? super T> c)? 根据指定的comparator产生的顺序对list集合元素进行排序
public static void swap(List<?> list, int i, int j)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 将指定list集合中的i处元素和j处元素进行交互