当前位置:编程学习 > JAVA >>

java删除数组中重复元素

java删除数组中重复元素 --------------------编程问答-------------------- 倒到SET裏面去 --------------------编程问答-------------------- element as map key --------------------编程问答-------------------- 可以排序,再删除 --------------------编程问答-------------------- int[] arr = new int[]{1,2,3,4,23,3,5,1};
ArrayList<Integer> arrList = new ArrayList<Integer>();
for(int i=0; i<arr.length; i++)
{
if(!arrList.contains(arr[i]))
arrList.add(arr[i]);
}
Iterator<Integer> inter = arrList.iterator();
while(inter.hasNext())
System.out.println(inter.next()); --------------------编程问答-------------------- package demo;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Shanchu {
public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
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);
}

}
--------------------编程问答-------------------- 都這麽複雜啊


public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
List<Integer> numList = new ArrayList<Integer>();
for (int i : nums)
numList.add(i);
Set<Integer> numSet = new HashSet<Integer>();
numSet.addAll(numList);
System.out.println(numSet);
}
--------------------编程问答--------------------
引用 6 楼 soli11722984 的回复:
都這麽複雜啊


Java code


    public static void main(String[] args) {
        int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
        List<Integer> numList = new ArrayList<Integer>();
        for (int i : ……

顶一个 --------------------编程问答--------------------
引用 6 楼 soli11722984 的回复:
都這麽複雜啊


Java code


    public static void main(String[] args) {
        int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
        List<Integer> numList = new ArrayList<Integer>();
        for (int i : ……

牛人,膜拜下,怎么想到的 --------------------编程问答-------------------- 从第一个遍历,查看前面是否有重复的,有就删除 --------------------编程问答--------------------
引用 6 楼 soli11722984 的回复:
都這麽複雜啊

Java code

    public static void main(String[] args) {
        int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
        List<Integer> numList = new ArrayList<Integer>();
        for (int i : nums)
 ……

先顶一下,但是这样顺序不就乱了么。 --------------------编程问答--------------------
引用 6 楼 soli11722984 的回复:
都這麽複雜啊

Java code

    public static void main(String[] args) {
        int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
        List<Integer> numList = new ArrayList<Integer>();
        for (int i : nums)
 ……



这个不错,通过集合转换,用treeset 还可以排序,呵呵 --------------------编程问答-------------------- 用set集合就行了 --------------------编程问答--------------------
引用 6 楼 soli11722984 的回复:
都這麽複雜啊


Java code

    public static void main(String[] args) {
        int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
        List<Integer> numList = new ArrayList<Integer>();
        for (int i : nu……

zzz~~ --------------------编程问答--------------------
引用 6 楼 soli11722984 的回复:
都這麽複雜啊


Java code

    public static void main(String[] args) {
        int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
        List<Integer> numList = new ArrayList<Integer>();
        for (int i : nu……


我也是这个思路。 --------------------编程问答-------------------- 不用set也很容易的
public static void main(String[] args) {
String[] s = {"1","10","15","14","111","133","12","13","1","13"};
List<String> l = new ArrayList<String>();
for(String a:s){
if(!l.contains(a)){
l.add(a);
}
}
System.out.println(l);
}
--------------------编程问答-------------------- 最简单的方法就是丢到set集合中去~ --------------------编程问答--------------------

import java.util.*;
class TestSet 
{
public static void main(String[] args) 
{
Integer[] nums = { 5, 5, 6, 6, 6, 8, 8, 7, 11, 12, 12 };
HashSet hset = new HashSet(Arrays.asList(nums));
Iterator i = hset.iterator();
while(i.hasNext()){
System.out.println(i.next());
}            

}
}
--------------------编程问答-------------------- 牛人太多了,膜拜中。。。。。。 --------------------编程问答-------------------- set方法不错 --------------------编程问答-------------------- Set有一个构造方法 参数就是list
引用 6 楼 soli11722984 的回复:
都這麽複雜啊


Java code


    public static void main(String[] args) {
        int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
        List<Integer> numList = new ArrayList<Integer>();
        for (int i : ……
--------------------编程问答--------------------

//简单的for循环
for(int i=1;i<arr.length;i++){
  for(j=0;j<i;j++){
     if(arr[i]==arr[j]){
       随便干嘛。。
        

}
}
} --------------------编程问答-------------------- 我们项目中的工具类,用来去掉List中空值和相同项的。


public <T> List<T> removeSameItem(List<T> list) {
List<T> difList = new ArrayList<T>();
for(T t : list){
if(t != null && !difList.contains(t)){
difList.add(t);
}
}
return difList;
}


--------------------编程问答--------------------
引用 5 楼 jiangxiayang 的回复:
package demo;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Shanchu {
public static void main(String[] args) {
int[] nums = { 5, 6, 6, 6, 8, 8, ……

再稍微简单点的(不考虑性能的话):

    Integer[] nums = { 5, 6, 6, 6, 8, 8, 7 };
    Set<Integer> numSet = new LinkedHashSet<Integer>(Arrays.asList(nums));
    System.out.println(numSet);
--------------------编程问答-------------------- 一句话搞定:
System.out.println(new LinkedHashSet<Integer>(Arrays.asList(5, 6, 6, 6, 8, 8, 7))); --------------------编程问答-------------------- 牛人多,继续拜读。。。。。。。。。 --------------------编程问答-------------------- 先把数组中元素放入set集合中啊,然后从set中取出来,得到的就是去除重复数据之后的 --------------------编程问答-------------------- int[] nums = { 5, 6, 6, 6, 8, 8, 7 };
        HashSet<Integer> set = new HashSet<Integer>();
        for (int i : nums) {
            set.add(i);
        } --------------------编程问答-------------------- public static void main(String[] args) {
        String[] s = {"1","10","15","14","111","133","12","13","1","13"};
        List<String> l = new ArrayList<String>();
        for(String a:s){
            if(!l.contains(a)){
                l.add(a);
            }
        }
        System.out.println(l);
    }
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,