① java中怎么样子找出数组中重复的数,并去除
public static void main(String[] args) {
//可以换种思路,把数组放到set里面(set的值不会重复)就可以去重了
Integer[] arr = {85,4,2,6,11,4,5,8,9};
Set<Integer> set = new HashSet<Integer>();
for(Integer i : arr)
set.add(i);
for(Object j: set.toArray())
System.out.print(j + " ");
}
② JAVA如何去除数组中每个元素中重复的内容
java数组中去掉重复数据可以使用set集合,set本身内部是不保存重复的数据的,如下代码:
运行结果如下:
③ java 集合set类中是如何实现数据不能重复的
Set 有个 add 方法是将元素添加到 Set 中,以 HashSet 为例。
publicbooleanadd(Ee){
returnmap.put(e,PRESENT)==null;
}
可以看到,HashSet 底层的数据结构是一个HashMap<E,Object> ,将 e 作为 HashMap 的 key 保存的。而 HashMap 的底层数据结构是 HashTable ,根据 HashMap 的 key 的HashCode 去 HashTable (具体实现是数组+链表) 里找到元素的位置。如果同一个对象(使用equals 来比较两个对象是否相同,具体是比较对象的 hashCode() 是否相同) 往Set 里放,最终放到 HashTable 的位置是相同的。具体判断Set 是否包含某个对象,调用的是Set的contains(Object o) 方法,它内部也是通过计算 o 的hashCode 去查找该元素是否存在的。
如果题主是新学习Java的同学,建议重点学习一下常用集合的数据结构,对于掌握Java这门语言非常有帮助。
④ java去重(不重复的去掉,重复的只去掉一次)
importjava.util.HashSet;
importjava.util.Set;
publicclassTest1{
privatestaticfinalSet<String>str=newHashSet<>();
publicstaticvoidmain(Stringargs[]){
Test1.add("1");
Test1.add("2");
Test1.add("2");
Test1.add("1");
Test1.add("3");
Test1.add("2");
}
publicstaticvoidadd(StringtoAdd){
if(!str.add(toAdd))System.out.println(toAdd);
}
}
⑤ 使用java集合去除一组数字中的重复项,并打印输出
publicclassRemoveDuplicate{
privatestaticint[]array={1,2,3,3,3,4,5,6,6,7};
publicstaticvoidremove(){
Set<Integer>set=newHashSet<>();
for(inti:array){
if(!set.add(i)){
System.out.println(i);
}
}
System.out.println(set.toString());
}
publicstaticvoidmain(String[]args){
RemoveDuplicate.remove();
}
}
以上是java代码。可以利用set 的元素的唯一性来完成你的要求。
set.add() 方法 如果添加失败那么会返回false,也就意味着里面已经有了一个同样的元素。
当然这个方法未必是最好的。可以利用一些更巧妙的方法达成。那样速度和效率都会更高。
(有部分人不知道为什么我的代码newHashSet<>里面没有指定类型。那么请参考java1.7新特性)
⑥ Java数组去重复问题
最简单的方式,我觉得效率也比较高的! 你建一个set。TreeSet吧,把组数组里面的数据取出来一个一个放入set。最后set里面的数据就是没有重复的了!把set再放回ArrayList就OK。好处是,不管List有多大,放入的时候都是一个一个放的。我尝试过给6万条数据去重复,效率还是可以的
⑦ java中的set集合是如何去重复的
如何两个对象的hashcode不一致或者调用equals方法结果为false,则认为是不重复的。
⑧ java set集合不可重复的意思
set 的equals是内容相等.
如果没有重写过的equals就是HashCode值相等,可以理解为地址.
重写过的,就要看对应的equals方法的说明了,根据实际用途来做,一般都是跟内容有关
⑨ java set集合自动重复的值 我想要set里去除了重复的值怎样获得呀
参考代码
importjava.util.Arrays;
importjava.util.HashSet;
importjava.util.Set;
publicclassP21_44{
publicstaticvoidmain(String[]args){
int[]arry={1,2,3,5,6,8,2,1,3,2,9};
Set<Integer>set=newHashSet<Integer>();//HashSet无序不重复集合
for(inti=0;i<arry.length;i++){
set.add(arry[i]);
}
System.out.println(Arrays.toString(arry));
System.out.println(set);
}
}
运行测试
[1,2,3,5,6,8,2,1,3,2,9]
[1,2,3,5,6,8,9]
⑩ java 集合 Set 判断重复
set也就是数学中的集合,集合里的元素是不能重复的,例如:1,2,3是集合,但1,2,1就不是集合,因为1重复了,同样,java
set里的元素也是不能重复的,重复的话,只会保存一份。