首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

问一个简单的算法有关问题

2012-04-22 
问一个简单的算法问题有这么两个字符串数组String strA {h,k,i, e}String strB {a,b,c,

问一个简单的算法问题
有这么两个字符串数组
String strA = {"h","k","i", "e"}
String strB = {"a","b","c","d","e","f","g","h","i","j","k"}

现在我要找出strA和strB的交集并输出,请问要怎么做?
如果按照这种方法效率肯定不高,要怎样改进?

Java code
for(String str1 : strA){    for(String str2 : strB)    {        if(str1.equals(str2))           ....    }}


[解决办法]
用集合吧
Java code
String[] strA = {"h","k","i", "e"};String[] strB = {"a","b","c","d","e","f","g","h","i","j","k"};List<String> l1 = new ArrayList<String>(Arrays.asLit(strA));List<String> l2 = new ArrayList<String>(Arrays.asLit(strB));l1.retainAll(l2); //交集 l1.removeAll(l2)差集 l1.addAll(l2)并集String[] sab = l1.toArray(new String[0]);for (String s : sab) {    System.out.println(s);} 

热点排行