我有規模龐大的有序數組(約3000字符串), 我需要創建一個對象爲每個不同的字符串,因此我需要在原始數組中創建一個大小等於不同字符串的對象數組。
有什麼建議?
謝謝
我有規模龐大的有序數組(約3000字符串), 我需要創建一個對象爲每個不同的字符串,因此我需要在原始數組中創建一個大小等於不同字符串的對象數組。
有什麼建議?
謝謝
那麼,如果你需要不同的元素,而不僅僅是數字,你可以使用Set。
A設置爲:
不包含重複元素的集合。
你不斷地將你的元素添加到集合中,然後看看集合包含的內容。
東西類似:
public static String[] getDistinct(String[] input) {
Set<String> distinct = new HashSet<String>();
for(String element : input) {
distinct.add(element);
}
return distinct.toArray(new String[0]);
}
用法:
String[] input = new String[] {"a", "b", "a", "c", "a", "b", "d"};
String[] distinct = getDistinct(input);
for(String element : distinct) {
System.out.println(element);
}
結果:
d B C A
注意,元件毫安的順序不保存。
要找到不同元素的數量,用途:
getDistinct(input).length
我覺得一個集是你要找的。試試自己,如果您需要任何幫助,請提出具體問題。
好的,我誤解了。我調整了答案,總結了不同的字符串。 – 2012-02-11 14:57:23
謝謝,我會嘗試 – user1203861 2012-02-11 15:00:25
僞代碼:
previous = Null
sum_size = 0
for (String current: yourarray) {
if (!current.equals(previous)) {
sum_size += current.size()
}
previous = current
}
sum_size是陣列中不同元件的附加尺寸。
他不想指望有多少不同的對象有 – 2012-02-11 14:49:42
好的,我誤解了這一點。我調整了答案,總結了不同的字符串 – 2012-02-11 15:00:02
請問:http://stackoverflow.com/questions/1019854/java-distinct-list-of-objects你需要什麼? – Nix 2012-02-11 14:46:56
我嚴重懷疑3000可以被認爲是一個巨大的尺寸。也許如果它是100萬... – 2012-02-11 14:58:30
我知道3000不是很大,但我的意思是處理時間明智。 – user1203861 2012-02-11 15:00:00