如何在arraylist中查找重复元素的数量,并将重复元素附加到不同的文本视图

时间:2017-08-18 07:32:13

标签: java android arraylist

如何在arraylist中查找重复元素的数量,并将重复元素附加到andorid中的不同textview。

我有3个不同的textview和单个arraylist,其中包含25个具有重复元素的元素 1)arraylist中存在多少重复值 2)重复值的计数应附加到textview。

3 个答案:

答案 0 :(得分:0)

Collections.frequency允许您在列表中出现对象。

因为这是一个小数组的另一个选择是对它进行排序然后迭代,在array[i+1] == array[i]的情况下,增加重复值的数量。

如果这种情况下的元素不是基本类型,请记住重载运算符。

示例实施:

void countOcc(int []arr) {  
    Set<Integer> uniques = new LinkedHashSet<Integer>();
    for(int x : arr) {
        uniques.add(x);
    }

    for(int y : uniques) {
        int totalOcc = Collections.frequency(Arrays.asList(arr), y);
        //gives total occurences for each unique element in the array
    }
}

答案 1 :(得分:0)

遍历arraylist并找到arraylist中每个元素的频率。

使用hashmap提高存储元素频率的性能。

初始值计为零。如果任何元素的频率大于一个增量计数。最后返回计数。

答案 2 :(得分:0)

伪代码:

dup = 0
pos = []
for i from 0 to arr.len -1 do
  for c from i + 1 to arr.len -1 do
    if pos.has(c) then 
      break
    fi
    if i == c then
      dup++
      pos.add(c)
    fi
  end
end

休息取决于你。很多优化也可以完成。