Home > Java > Javagetting Started > How to create a unique collection in java?

How to create a unique collection in java?

angryTom
Release: 2020-02-03 10:23:26
Original
4333 people have browsed it

How to create a unique collection in java?

#How to create a unique collection in Java?

There are many ways to create unique collections in Java. Below we introduce four common methods for creating unique collections in Java.

Method 1: You need an array to store the deduplicated elements, and then two layers of loops. The outer layer traverses the original array, and the content is judged one by one whether it matches the following elements. Repeat, and then pull it out again and store it in a new array.

    public static Object[] ifRepeat(Object[] arr){  
        //用来记录去除重复之后的数组长度和给临时数组作为下标索引  
        int t = 0;  
        //临时数组  
        Object[] tempArr = new Object[arr.length];  
        //遍历原数组  
        for(int i = 0; i < arr.length; i++){  
            //声明一个标记,并每次重置  
            boolean isTrue = true;  
            //内层循环将原数组的元素逐个对比  
            for(int j=i+1;j<arr.length;j++){  
                //如果发现有重复元素,改变标记状态并结束当次内层循环  
                if(arr[i]==arr[j]){  
                    isTrue = false;  
                    break;  
                }  
            }  
            //判断标记是否被改变,如果没被改变就是没有重复元素  
            if(isTrue){  
                //没有元素就将原数组的元素赋给临时数组  
                tempArr[t] = arr[i];  
                //走到这里证明当前元素没有重复,那么记录自增  
                t++;  
            }  
        }  
        //声明需要返回的数组,这个才是去重后的数组  
        Object[]  newArr = new Object[t];  
        //用arraycopy方法将刚才去重的数组拷贝到新数组并返回  
        System.arraycopy(tempArr,0,newArr,0,t);  
        return newArr;  
    }
Copy after login

Method 2: Just create a collection, then traverse the array and put it into the collection one by one. Just use the contains() method to determine whether the element already exists in the collection before putting it in. , and then use toArray to convert it into an array.

   public static void ifRepeat2(Object[] arr){  
        //创建一个集合  
        List list = new ArrayList();  
        //遍历数组往集合里存元素  
        for(int i=0;i<arr.length;i++){  
            //如果集合里面没有相同的元素才往里存  
            if(!list.contains(arr[i])){  
                list.add(arr[i]);  
            }  
        }  
          
        //toArray()方法会返回一个包含集合所有元素的Object类型数组  
        Object[] newArr = list.toArray();  
        //遍历输出一下测试是否有效  
        for(int i=0;i<newArr.length;i++){  
            System.out.println(" "+newArr[i]);  
        }  
  
    }
Copy after login

Method 3. The simplest method is to use the unordered and non-repeatable characteristics of the Set collection to filter elements.

public static Object[] ifRepeat3(Object[] arr){  
        //实例化一个set集合  
        Set set = new HashSet();  
        //遍历数组并存入集合,如果元素已存在则不会重复存入  
        for (int i = 0; i < arr.length; i++) {  
            set.add(arr[i]);  
        }  
        //返回Set集合的数组形式  
        return set.toArray();  
    }
Copy after login

Method 4. Hash set of linked list: in order and not repeated.

 public static void ifRepeat4(Object[] arr){  
          
        LinkedHashSet<Object> haoma = new LinkedHashSet<Object>();  
        for (int i = 0; i < arr.length; i++) {  
            haoma.add(arr[i]);  
        }  
          
        // 创建迭代器  
        Iterator<Object> iterator = haoma.iterator();  
        int a = 0;  
        // 迭代集合  
        while (iterator.hasNext()) { // true  
            Object c = iterator.next();  
              
            System.out.println(c);  
        }  
    }
Copy after login

(Related video tutorial sharing: java video tutorial)

The above is the detailed content of How to create a unique collection in java?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template