❶ java中怎么找出数组中重复的数并去除
java中找出数组中重复的数并去除的代码如下:
publicstaticvoidtestA(){
String[]str={"Java","C++","Php","C#","Python","C++","Java"};
for(StringelementA:str){
System.out.print(elementA+"");
}
List<String>list=newArrayList<String>();
for(inti=0;i<str.length;i++){
if(!list.contains(str[i])){
list.add(str[i]);
}
}
System.out.println();
String[]newStr=list.toArray(newString[1]);//返回一个包含所有对象的指定类型的数组
for(StringelementB:newStr){
System.out.print(elementB+"");
}
System.out.println();
}
❷ JAVA中,如何去掉LIST里的重复元素
最好的办法是用Set,因为Set里面存放的数据是不重复的。
如果你不想用Set,那还可以向下面这样处理。
List list_tmp = new ArrayList(); //建立一个用于临时存放不重复list元素的List集合。
for(Object obj:list){
//可以根据需要,在这里加上强制转型。
//如list里面存放的是一个User对象,那么加上User u = (User) obj;
if(!list_tmp.contains(obj)){ //注意contains方法是通过equals方法进行比较的所以你要根据你自己的需要看是否需要重写list对象里面的equals方法。
list_tmp.add(obj);//如果上面加了强制转型,这里需要写list_tmp.add(u);
}
}
❸ Java数组中重复数据的删除
java数组中去掉重复数据可以使用set集合,set本身内部是不保存重复的数据的,如下代码:
importjava.util.Arrays;
importjava.util.Set;
importjava.util.TreeSet;
publicclassceshi{
publicstaticvoidmain(String[]args){
int[]testArr={5,5,1,2,3,6,-7,8,6,45,5};//新建一个int类型数组
System.out.println(Arrays.toString(testArr));
Set<Integer>set=newTreeSet<Integer>();//新建一个set集合
for(inti:testArr){
set.add(i);
}
Integer[]arr2=set.toArray(newInteger[0]);
//数组的包装类型不能转只能自己转;吧Integer转为为int数组;
int[]result=newint[arr2.length];
for(inti=0;i<result.length;i++){
result[i]=arr2[i];
}
System.out.println(Arrays.toString(arr2));
}
}
运行结果如下:
❹ java中怎样去除list中重复的数据,并且显示重复数据的条数
很多集合处理,我都推荐用Java8的流来处理,是非常简单易懂的
其实你这个问题,总来说就是按照集合中的字符串进行分类,并统计数量,Stream只用简单的代码就完成复杂的操作,代码如下
List<String>list=Arrays.asList("day","walipo","day","walipo","legeand","day","douwbo","day","day");
Map<String,Long>collect=list.stream().collect(Collectors.groupingBy(Function.identity(),Collectors.counting()));
System.out.println(collect);
最后返回的Map就是以字符串为key,value为其个数
❺ java 删除数组中重复元素
package com.akfucc.;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
public class P124876743 {
public static void main(String[] args) {
int[] nums = { 1, 2, 3, 3, 3, 3, 4 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : nums)
numList.add(i);
System.out.println(numList);
// 做删除
Iterator<Integer> it = numList.iterator();
int temp = -1;
if (it.hasNext())
temp = it.next();
while (it.hasNext()) {
int i = it.next();
if (i == temp) {
it.remove();
} else {
temp = i;
}
}
System.out.println(numList);
}
}
❻ Java如何将数组中具有相同的元素都删去
ArrayLista=newArrayList(数组);
for(inti=0;i<a.size();i++){
Objectobj=数组[i];
if(a.contains(obj)){
a.remove(i);
}
}
我答案错了,不好意思,当初咋想的忘记了,抱歉。下面的其他匿名网友回答是正确的。另外附上我的修改。
一:利用set的唯一性解决
String[]strArr={"B","A","C","D","C","A"};
Set<String>strList=newHashSet(Arrays.asList(strArr));
System.out.println(strList.toString());
二:创建新的存储单位,判断是否重复后逐个增加
publicstaticvoidmain(String[]args){
String[]strArr={"B","A","C","D","C","A"};
List<String>strList=newArrayList<String>();
for(Stringstr:strArr){
if(strList.contains(str)){
continue;
}
strList.add(str);
}
System.out.println(strList.toString());
}
三:利用steam的distinct方法去重(jdk1.8的新特性)
String[]strArr={"B","A","C","D","C","A"};
List<String>strList=Arrays.asList(strArr);
strList=strList.stream().distinct().collect(Collectors.toList());
System.out.println(strList.toString());
❼ java中怎么样子找出数组中重复的数,并去除
使用Set集合处理即可,因为Set集合有特性,自动去除重复的元素;
只要循环数组,添加到set中就可以实现了。