数组String[]、集合List<>、HashSet<> 间的相互转换
String[] 数组转 List 集合
List 集合转 HashSet 集合
HashSet 集合转为 ArrayList 集合
String str = "0,1,2,1,3,4";
String[] strArr = str.split(",");
// 数组转为List集合
ArrayList<String> list = Arrays.asList(strArr);
// 将List集合转为 Set 集合,去除 List 集合中重复的数据
HashSet<String> set = new HashSet<>(list);
// 去重后将 Set 集合转为 List 集合
ArrayList<String> strList = new ArrayList<>(set);
去除集合重复数据
先将字符串转为 String[] 数据
将数组转为 List 集合
将 List 集合转为 HashSet 集合
HashSet 本身具有去重功能
遍历 HashSet 集合
ModelAndView mv = new ModelAndView("index");//index.html
// 将字符数组去重后转变为集合
String str = "0,1,2,1,3,4,2,4";
HashSet<String> hsdyArr = new HashSet<>(Arrays.asList(str.split(",")));
List<String> hsdyStrList = new ArrayList<>();
for (String dmid : hsdyArr) {//0,1,2,3,4
String dmmc = this.contextLoader.getDmmcByLbmcAndDmid(ErpConstant.DMLB_KHBZ, dmid);
if (StringUtils.isNotEmpty(dmmc)) {
String nodeHsdyStr = "<option value='" + dmid + "'>" + dmmc + "</option>";
hsdyStrList.add(nodeHsdyStr);
}
}
mv.addObject("hsdyStrList", hsdyStrList);
return mv;
集合转数组
集合 List 转数组 String[]
list.toArray(new String[list.size()]);
// linkedList<> 集合为有序集合
List<String> list = LinkedList<String>();
list.add('123');
list.add('456');
list.add('789');
String[] strArr = list.toArray(new String[list.size()]);
for (String str : strArr) { // strArr:{'123','456','789'}
log.info(str);
}