Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在arraylist中查找重复元素的数量并将重复元素附加到不同的TextView中_Java_Android_Arraylist - Fatal编程技术网

Java 如何在arraylist中查找重复元素的数量并将重复元素附加到不同的TextView中

Java 如何在arraylist中查找重复元素的数量并将重复元素附加到不同的TextView中,java,android,arraylist,Java,Android,Arraylist,如何在arraylist中查找重复元素的数量,并将重复元素附加到AndRoid中的不同文本视图中 我有3个不同的textview和单个arraylist,其中包含25个重复元素 1) arraylist中存在多少重复值 2) 重复值的计数应附加到textview。Collections.frequency提供列表中对象的出现次数 由于这是一个小数组,另一个选项是对其进行排序,然后进行迭代,在数组[i+1]==数组[i]的情况下,增加重复值的计数 如果本例中的元素不是基元类型,请记住重载运算符 示

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

我有3个不同的textview和单个arraylist,其中包含25个重复元素 1) arraylist中存在多少重复值
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))}。。。。。