2017-10-05 55 views
-2

我有一個字符串數組,其中我想檢查數組中的每個元素與其他8個數組元素,以查看第一個數組元素中的任何元素是否在任何元素下分類。我只想分類字符串數組。所以爲了做到這一點,我必須檢查8個其他陣列(因爲我有8個類別)我想知道一個有效的方法來做到這一點,而無需循環逐一字符串數組分類

+2

也許一個短的(僞)代碼示例會有所幫助。你重複三次,你正在做8個數組,但我仍然沒有得到這個問題。因此請參閱[mcve]。 – GhostCat

+0

在Java中籤出hashmaps。 – ninesalt

回答

-1

您可以排序數組,然後使用Arrays.binarySearch()方法而不是逐個循環。這是搜索特定元素的更有效的方法。

+0

@Hasini每個問題只能接受1個解決方案。所以你會想要接受那個對你最有幫助的。 – user3437460

0

您可以使用HashMap而不是array或arraylist。

將8個類別實現爲HashMap。 從你想檢查的元素中,匹配8個HashMap。這會給你8次檢查的最壞情況。

如果你能全部8個類別的值組合成一個HashMap中,最壞的情況將是1

我相信你可以在值從各種類別相結合,通過附加一個校驗和來都只有1點的HashMap值。例如:

//values in the hash map 
xxxx_cat1 
yyyy_cat1 
zzzz_cat1 
xxxx_cat2 
yyyy_cat2 
zzzz_cat2 

從HashMap獲取值後,只需基於校驗和(附加文本)來獲取其類別。

+0

謝謝這樣做 – Hasini

+0

@Hasini如果我的解決方案有幫助,您可以通過點擊旁邊空心的勾號來接受我的答案。你會得到2個代表點。 – user3437460

+0

是的,爲什麼不呢。再次感謝! – Hasini