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;
        }
  • 相关阅读:
    主流液晶显示器尺寸参数
    不能访问网络位置的解决方法(转)
    打开Word提示你正试图运行的函数包含有宏或需要宏语言支持的内容
    教你如何防“蹭网”
    ASA数据库瘦身(原创)
    多种解决:“Word无法启动转换器mswrd632.wpc”方法
    百兆线与千兆线网线制作方法
    linux常用命令
    DefaultIfEmpty
    实现手机发送验证码 进行验证
  • 原文地址:https://www.cnblogs.com/onelikeone/p/7582689.html
Copyright © 2011-2022 走看看