這是我在做什麼:
字符串一個=「一些字符串」
String中的兩個=「一些字符串」Set操作的複雜性
我想知道的一切都在字符串中的字符一個和兩個和他們應該按順序排列,因爲他們在字符串之一
我寫了一個Java程序,它通過使用集合執行集合上的集操作。
我想知道什麼是執行一系列操作的複雜性是什麼,是多項式時間或線性時間
我的計劃是在這裏
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package careercup.google;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
/**
*
* @author learner
*/
public class CharaterStringsIntersection {
private static final String one = "abcdefgabcfmnx";
private static final String two = "xbcg";
public static void main(String args[]){
List<Character> l_one = new ArrayList<Character>();
List<Character> l_two = new ArrayList<Character>();
for(int i=0; i<one.length(); i++){
l_one.add(one.charAt(i));
}
for(int j=0; j<two.length(); j++){
l_two.add(two.charAt(j));
}
l_one.retainAll(l_two);
Iterator iter = l_one.iterator();
while(iter.hasNext()){
System.out.println(" > " + iter.next());
}
}
}
輸出:
run:
> b
> c
> g
> b
> c
> x
您可以使用LinkedHashSet在保留訂單的同時獲取Set的性能。注意:您只需要在第一個集合中保留訂單,第二個訂單的順序並不重要?你需要保持重複嗎?如果是這樣,第一個集合必須是一個列表,但第二個集合仍然可以是一個集合。 – 2010-10-24 23:44:23