首页 > 编程语言 > 详细

java数组与集合互转以及利用set去重

时间:2019-10-16 23:57:41      阅读:124      评论:0      收藏:0      [点我收藏+]
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[]数组

技术分享图片

我的微信公众号大家可以关注下欢迎留言,认识一下交个朋友哈!

java数组与集合互转以及利用set去重

原文:https://www.cnblogs.com/wwwcf1982603555/p/11688116.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!