集合之间的相互转换以及与fastjson之间的相互转换
工作中常用到集合之间的相互转换,每次之间的转换都有点问题,需要百度查询,此处做以下简单总结,已便后用;
一:集合之间的互相转换
1.数组 --> List
public static void arrayToList() {
String[] arr = new String[]{"java", "go", "hadoop", "storm", "Python"};
//方式1
List<String> list = new ArrayList<>(Arrays.asList(arr));
//方式2
List<String> list2 = List.of(arr);
list.forEach(v -> log.info(v));
list2.forEach(v -> log.info(v));
}
2. list --> 数组
public static void ListToArray() { List<String> list = new ArrayList<>(); list.add("java"); list.add("go"); list.add("hadoop"); list.add("storm"); list.add("Python"); String[] arr = (String[]) list.toArray(); for (String v : arr) { log.info(v); } }
3. Map.values --> List
public static void mapValuesToList() { Map<String, String> map = new HashMap(4); map.put("java", "01"); map.put("go", "02"); map.put("hadoop", "03"); map.put("storm", "04"); List<String> list = new ArrayList<>(map.values()); list.forEach(v -> log.info(v)); }
4. array --> set
public static void arrayToSet() { String[] arr = new String[]{"java", "go", "hadoop"}; Set<String> set = new HashSet<>(Arrays.asList(arr)); Iterator<String> stringIterator = set.iterator(); if (stringIterator.hasNext()) { log.info(stringIterator.next()); } }
5.list --> set
public static void listToSet() { List<String> list = new ArrayList<>(); list.add("java"); list.add("go"); list.add("hadoop"); list.add("storm"); list.add("Python"); Set<String> set = new HashSet(list); Iterator<String> stringIterator = set.iterator(); if (stringIterator.hasNext()) { log.info(stringIterator.next()); } }
二:fastjson和集合之间的相关转换
1.list --> json
1.1 JavaBean Person person = JSON.parseObject(jsonString, Person.class); 1.2 List<JavaBean> List<Person> listPerson =JSON.parseArray(jsonString, Person.class); 1.3 List<String> List<String> listString = JSON.parseArray(jsonString, String.class); 1.4 List<Map<String,Object>> List<Map<String, Object>> listMap = JSON.parseObject(jsonString, new TypeReference<List<Map<String,Object>>>(){});
我们曾如此渴望生命的波澜,到后来才发现,人生最曼妙的风景是内心的淡定与从容