Java 如何在arraylist中查找重复元素的数量并将重复元素附加到不同的TextView中
如何在arraylist中查找重复元素的数量,并将重复元素附加到AndRoid中的不同文本视图中 我有3个不同的textview和单个arraylist,其中包含25个重复元素 1) arraylist中存在多少重复值Java 如何在arraylist中查找重复元素的数量并将重复元素附加到不同的TextView中,java,android,arraylist,Java,Android,Arraylist,如何在arraylist中查找重复元素的数量,并将重复元素附加到AndRoid中的不同文本视图中 我有3个不同的textview和单个arraylist,其中包含25个重复元素 1) arraylist中存在多少重复值 2) 重复值的计数应附加到textview。Collections.frequency提供列表中对象的出现次数 由于这是一个小数组,另一个选项是对其进行排序,然后进行迭代,在数组[i+1]==数组[i]的情况下,增加重复值的计数 如果本例中的元素不是基元类型,请记住重载运算符 示
2) 重复值的计数应附加到textview。Collections.frequency提供列表中对象的出现次数 由于这是一个小数组,另一个选项是对其进行排序,然后进行迭代,在
数组[i+1]==数组[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
}
}
void countOcc(int[]arr){
Set uniques=new LinkedHashSet();
用于(整数x:arr){
增加(x);
}
对于(int y:uniques){
int TOTALCOCC=集合.频率(数组.asList(arr),y);
//给出数组中每个唯一元素的总出现次数
}
}
遍历arraylist并找到arraylist中每个元素的频率
使用hashmap可以更好地存储元素的频率
将计数初始化为零。如果任何元素的频率大于一,则增加计数。最后返回计数。伪代码:
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
休息由你决定。至少可以进行很多优化。尝试使用哈希映射编写一些java代码,并将计数作为值存储在哈希映射中。请详细说明?谢谢。这是我的arraylist ArrayInfo 33:[5,1,5,2,2,2,2,2,2,2,2,2,2,2,2,3,3,4,4,2,2,2,2,2]。在这个arraylist中,我想显示2、3、5的单个计数,总计数应该显示在textview中…这是我的代码..Set unique=new HashSet(myList);for(Integer key:unique){Log.i(“checkarryinfo”,“+key+”:“+Collections.frequency(myList,key))}。。。。。