我有一个字符串数组,我想用8个其他数组元素检查数组中的每个元素,看看第一个数组元素中的任何元素是否都归类于其中任何元素。
我只想对字符串数组进行分类。所以为了做到这一点,我必须检查8个其他数组(因为我有8个类别)我想知道一个有效的方法来做到这一点,而不是逐个循环
答案 0 :(得分:0)
您可以使用HashMap而不是数组或arraylist。
将8个类别实现为HashMap。 从要检查的元素中,将其与8个HashMaps匹配。这将给你最糟糕的8次检查。
如果你可以将所有8个类别的值组合成一个HashMap,最坏的情况将是1.
我相信您可以组合各种类别的值,并通过为每个值附加校验和来只有1个HashMap。类似的东西:
//values in the hash map
xxxx_cat1
yyyy_cat1
zzzz_cat1
xxxx_cat2
yyyy_cat2
zzzz_cat2
从HashMap获取值后,只需根据校验和(附加文本)获取其类别。
答案 1 :(得分:-1)
您可以对数组进行排序,然后使用Arrays.binarySearch()
方法而不是逐个循环。搜索特定元素是更有效的方法。