0. Utils
字符串数组的排序:
Set<String> set = new TreeSet<String>(); Collections.addAll(set, args); // args 为 String[] 类型
数组复制:
system.arraycopy:必须明确自行建立一个数组对象,
int[] arr1 = {1, 2, 3, 4, 5}; int[] arr2 = new int[5]; System.arraycopy(arr1, 0, arr2, 0, arr1.length);
Arrays.copyOf:可直接传回一个数组对象:
int[] arr1 = {1, 2, 3, 4, 5}; int[] arr2 = Arrays.copyOf(arr1, arr1.length); // 如果新数组的长度超过原数组的长度,则保留数组默认值 int[] arr3 = Arrays.copyOf(arr1, 10); // 1 2 3 4 5 0 0 0 0 0
1. List <–> Array
list 实例转换为 String[],使用 list 的实例方法:toArray
List<String> list = new ArrayList<String>(); list.add("China"); list.add("Switzerland"); list.add("Italy"); list.add("France"); String [] countries = list.toArray(new String[list.size()]);
String[] => list,使用 Arrays 的静态方法 asList
String[] countries = {"China", "Switzerland", "Italy", "France"}; List list = Arrays.asList(countries);
2. Array => list => Set
其实是先将 array 转换为 list 再转换为 set:
String [] countries = {"India", "Switzerland", "Italy"}; Set<String> set = new HashSet<String>(Arrays.asList(countries));
3. Map => Set/List
Map => List
List<Value> list = new ArrayList<Value>(map.values());
Map => Set
Set<String> targetSet = new HashSet<>(sourceMap.values());