java字符串求交集算法

来源:互联网 发布:think.js 编辑:程序博客网 时间:2024/06/01 21:12

分享给需要的人,可以一起讨论更好的实现方法:

import java.util.Arrays;import java.util.Comparator;public class NoticeUtils {public static void main(String[] args) {String user_tag="12,1,3,5,8,3000,9,18,199,500,8000,6";String select_tag="888,1,3,8,6,500";long start=System.currentTimeMillis();boolean a=isExist(user_tag, select_tag);long end=System.currentTimeMillis();System.out.println("执行时间:"+(end-start)+"ms,执行结果:"+a);}/** * 判断问卷所选标签是否属于用户的标签 * @param user_tag  用户标签列表 * @param select_tag 客户选择的标签列表 * @return */public static boolean isExist(String user_tag,String select_tag){String[] userArray=user_tag.split(",");String[] selectArray=select_tag.split(",");//对标签进行排序sort(selectArray);sort(userArray);for(String select:selectArray){boolean userExist=false;for(String user:userArray){if(select.equals(user)){userExist=true;}}if(!userExist){return userExist;}}return true;}/** * 对标签数组进行排序 * @param tags */private static void sort(String[] tags){Arrays.sort(tags,new Comparator<String>(){            @Override            public int compare ( String o1,String o2){                if (Integer.parseInt(o1)>Integer.parseInt(o2)){                    return 1;                }else if (Integer.parseInt(o1)<Integer.parseInt(o2)){                    return -1;                }else{                    return 0;                }            }        });}}


0 0
原创粉丝点击