zoukankan      html  css  js  c++  java
  • Java 去除List列表中的重复项

       /**
           * Remove list duplicate item
         * 
         * @param srcList
         * @return
         */
        private static ArrayList<ResolveInfo> removeListDuplicateItemWithOrder(
                List<ResolveInfo> srcList) {
            ArrayList<ResolveInfo> mResolveInfoList = new ArrayList<ResolveInfo>();
            ArrayList<String> mPkgNameList = new ArrayList<String>();
            for (ResolveInfo resolveInfo : srcList) {
                String pkgName = resolveInfo.activityInfo.packageName;
                XLog.d(TAG, "removeListDuplicateWithOrder,pkgName=" + pkgName);
                // remove duplicate package name
                if (!mPkgNameList.contains(pkgName)) {
                    mPkgNameList.add(pkgName);
                    mResolveInfoList.add(resolveInfo);
                }
            }
    
            if (DEBUG_MODE) {
                for (ResolveInfo resolveInfo : mResolveInfoList) {
                    XLog.d(TAG, "kkkk,removeDuplicateWithOrder,resolveInfo="
                            + resolveInfo);
                }
            }
            return mResolveInfoList;
        }
    
        /**
         * Remove list duplicate item
         * 
         * @param srcList
         * @return
         */
        private static ArrayList<String> removeListDuplicateItemWithOrder(
                ArrayList<String> srcList) {
            ArrayList<String> desList = new ArrayList<String>();
            for (String src : srcList) {
                XLog.d(TAG, "removeListDuplicateWithOrder,src=" + src);
                if (!desList.contains(src)) {
                    desList.add(src);
                }
            }
    
            if (DEBUG_MODE) {
                for (String des : desList) {
                    XLog.d(TAG, "removeDuplicateWithOrder,des=" + des);
                }
            }
            return desList;
        }
    
        /**
         * Remove liset duplicate item
         * 
         * @param srcList
         * @return
         */
        private static Set removeListDuplicateItemWithOrder2(
                ArrayList<String> srcList) {
            Set mLinkedHashSet = new LinkedHashSet<String>();
            mLinkedHashSet.add(srcList);
            for (Iterator iterator = mLinkedHashSet.iterator(); iterator.hasNext();) {
                String element = (String) iterator.next();
                XLog.d(TAG, "removeListDuplicateWithOrder2,element=" + element);
            }
            return mLinkedHashSet;
        }
  • 相关阅读:
    高程第五章(引用类型)
    第四章(变量、作用域、内存问题)
    label语句和break continue的使用(高程第三章)
    高级程序设计第三章
    max取得数组的最大值
    使用bind()扩充作用域
    函数
    数据类型、字符编码、文件处理
    Python入门
    8.8每日作业系列之循环模块运用
  • 原文地址:https://www.cnblogs.com/onelikeone/p/7582689.html
Copyright © 2011-2022 走看看