java数组与集合互转以及利用set去重
发布时间:2020-12-15 07:23:19 所属栏目:Java 来源:网络整理
导读:int result=0 ; // 定义可以去重的set集合 SetString idSet = new HashSetString (); if (users.length0 ){ List list = Arrays.asList(users); for (IUserObject user:users){ idSet.add(user.getUserId() +user.getUserName()+ user.getUserRemoteIP()); }
int result=0; //定义可以去重的set集合 Set<String> idSet = new HashSet<String>(); if(users.length>0){ List list=Arrays.asList(users); for(IUserObject user:users){ idSet.add(user.getUserId()+user.getUserName()+user.getUserRemoteIP()); } result= idSet.size(); } return result; 注意点: set去重时对于自定义的对象如果其对象属性有一个相同即为一个对象处理 list利用迭代器进行对象相同处理(按照所有相同属性进行判断但必须该定义的对象重写了toString方法才可使用contains方法) IUserObject[] result=null; if(users.length>0){ List infolist = new ArrayList(); List list=Arrays.asList(users); Iterator it = list.iterator(); while (it.hasNext()) { IUserObject obj = (IUserObject) it.next(); if(!infolist.contains(obj)){ infolist.add(obj); } } result=(IUserObject[]) infolist.toArray(new IUserObject[infolist.size()]); } return result; 数组转成集合利用asList方法 String[] array = new String[] {"zhu","wen","tao"}; // String数组转List集合 List<String> mlist = Arrays.asList(array); // 输出List集合 for (int i = 0; i < mlist.size(); i++) { System.out.println("mlist-->" + mlist.get(i)); } ? 将list转成数组 1、Object[] toArray(); 用法1 List<String> stringList2 = new ArrayList<>(); stringList2.add("A"); stringList2.add("B"); stringList2.add("C"); Object[] objectArray = stringList2.toArray(); 2、<T> T[] toArray(T[] a); List<String> stringList = new ArrayList<>(); stringList.add("A"); stringList.add("B"); stringList.add("C"); String[] stringArray = stringList.toArray(new String[stringList.size()]);
注意事项: 有些数据类型是不能强转的所以必须先进行数组类型定义在进行转换eg:数组不能强转成String[]数组;除非这个数组初始化的时候就指向了String[]数组 我的微信公众号大家可以关注下欢迎留言,认识一下交个朋友哈! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |