java String Array List 字符串 数组 集合 互相转换

Array 转 List

String[] ss = { "JJ", "KK" };  
List<String> list1 = Arrays.asList(ss);  
List<String> list2 = Arrays.asList("AAA", "BBB");  
System.out.println(list1);  
System.out.println(list2);  

Array String[] 转 List<Long>

String[] uidArr = reqDTO.getParams().split(",");
List<Long> uids = Arrays.stream(uidArr).map(Long::valueOf).collect(Collectors.toList());

List 转 Array

List<String> list = new ArrayList<>();
list.add("AA");
list.add("BB");
list.add("CC");
//List --> Array 性能最好
String[] arr = list.toArray(new String[0]);
System.out.println("arr:" + Arrays.toString(arr));

Set 转 List

Set<String> set = new HashSet<>();
set.add("AA");
set.add("BB");
set.add("CC");
//Set --> List
List<String> setList = new ArrayList<>(set);
System.out.println(setList);

List 转 Set

List<String> list = new ArrayList<>();
list.add("ABC");
list.add("EFG");
list.add("LMN");
//List-->Set
Set<String> listSet = new HashSet<>(list);
System.out.println(listSet);

Set 转 Array

Set<String> set = new HashSet<>();
set.add("AA");
set.add("BB");
set.add("CC");
//Set-->数组 性能最好
String[] arr = set.toArray(new String[0]);
System.out.println(Arrays.toString(arr));

Array 转 Set

String[] arr = {"AA", "BB", "DD", "CC", "BB"};
//数组-->Set
Set<String> set = new HashSet<>(Arrays.asList(arr));
System.out.println(set);

Map 转 List

Map<String, String> map = new HashMap<>();
map.put("A", "ABC");
map.put("K", "KK");
map.put("L", "LV");

// 将Map Key 转化为List
List<String> mapKeyList = new ArrayList<>(map.keySet());
System.out.println("mapKeyList:" + mapKeyList);

// 将Map value 转化为List
List<String> mapValuesList = new ArrayList<>(map.values());
System.out.println("mapValuesList:" + mapValuesList);

Map 转 Set

Map<String, String> map = new HashMap<>();
map.put("A", "ABC");
map.put("K", "KK");
map.put("L", "LV");

// 将Map 的键转化为Set
Set<String> mapKeySet = map.keySet();
System.out.println("mapKeySet:" + mapKeySet);

// 将Map 的值转化为Set
Set<String> mapValuesSet = new HashSet<>(map.values());
System.out.println("mapValuesSet:" + mapValuesSet);

Array 转 String

方法1:

//需要引入Apache common包中的个commons-lang.jar包:  
String[] ary = { "1", "2" };  
String str = StringUtils.join(ary, ",");  
System.out.println(str);

List<String> 转 String

方法1:StringJoiner

List<String> list = new ArrayList<>();  
list.add("a");
list.add("b");
list.add("c");

 StringJoiner result = new StringJoiner(",");  
 for (String s : list) {  
     result.add(s);  
 }  
 System.out.println(result.toString());

方法2:google guava包 Joiner类

List<String> list = new ArrayList<String>();
list.add("aa");
list.add("bb");
list.add("cc");
String result = Joiner.on(",").join(list);
//result为  aa,bb,cc

方法3:jdk String.join

List<String> list = Arrays.asList("foo", "bar", "baz");
joined = String.join(";", list); // "foo;bar;baz"

方法4:Java8 实现List<对象>转String

List<Person> list = Arrays.asList(
 new Person("John", "Smith"),
 new Person("Anna", "Martinez"),
 new Person("Paul", "Watson ")
);
String joinedFirstNames = list.stream()
 .map(Person::getFirstName)
 .collect(Collectors.joining(", ")); 
 // "John, Anna, Paul"

String 转 Array

String str = "1,2,3,4,"; 
// 最后的逗号不用截取 print {"1","2","3","4"}  
String[] array = str.split(",");  
System.out.println(Arrays.toString(array));

String 转 List

String str = "1-2-3-4-5-6";
// Hutool
List<String> orders = StrUtil.split(str,"-");
// 或使用去除空串与空格 List<String> split(CharSequence str, CharSequence separator, boolean isTrim, boolean ignoreEmpty)

// guava
List<String> list = Splitter.on("-").splitToList(str);
//list为  [1, 2, 3, 4, 5, 6]
//如果有空值 str="1-2-3-4- 5-  6  "; 
//guava还可以使用 omitEmptyStrings().trimResults() 去除空串与空格

String 转 Map

// guava
String str = "xiaoming=11&xiaohong=23";
Map<String,String> map = Splitter.on("&").withKeyValueSeparator("=").split(str);

Map 转 String

// guava
Map<String, Integer> map = Maps.newHashMap();
map.put("xiaoming", 12);
map.put("xiaohong",13);
String result = Joiner.on("&").withKeyValueSeparator("=").join(map);
// result为 xiaoming=12&xiaohong=13

参考文档

开源全能类型转换器—ConvertUtil
https://github.com/venusdrogon/feilong-core/wiki/全能类型转换器—ConvertUtil
https://github.com/venusdrogon/feilong-core/blob/master/src/main/java/com/feilong/core/bean/ConvertUtil.java

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值