Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,900 questions

51,831 answers

573 users

How to delete duplicate elements from one dimensional array of integers in Java

3 Answers

0 votes
package javaapplication1;
 
public class Example {
     
    public static void main(String[] args) {
                
        int arr[] = new int[] {1, 2, 3, 2, 5, 6, 6, 2};
         
        arr = removeDuplicates(arr);
         
        for (int i = 0; i < arr.length; i++)
             System.out.format("%3d", arr[i]);
    }
    public static int[] removeDuplicates(int []arr) {
        int nonDup[] = new int[arr.length], i = 0;
        for (int n : arr) {
            if(!isExists(nonDup, n))
                nonDup[i++] = n;
        }
        return nonDup;
    }
    private static boolean isExists(int[] arr, int val) {
        for (int n : arr) {
            if(n == val)
               return true;
        }
        return false;
    }
}
    
    
/*
run:
 
 1  2  3  5  6  0  0  0
     
*/

 



answered Feb 12, 2016 by avibootz
edited Feb 12, 2016 by avibootz
0 votes
package javaapplication1;

import java.util.LinkedHashSet;
import java.util.Set;

public class Example {
    
    public static void main(String[] args) {
               
        int arr[] = new int[] {1, 2, 3, 2, 5, 6, 6, 2};
        
        arr = removeDuplicates(arr);
        
        for (int i = 0; i < arr.length; i++)
             System.out.format("%3d", arr[i]);
    }
    public static int[]  removeDuplicates(int[] arr){
        Set<Integer> hashset = new LinkedHashSet<>();
        
        for(int i = 0; i < arr.length; i++)
            hashset.add(arr[i]);
        
        return toInt(hashset);
    }
    public static int[] toInt(Set<Integer> hashset) {
        int[] arr = new int[hashset.size()];
        int i = 0;
        for (Integer val : hashset) arr[i++] = val;
        
        return arr;
    }
}
   
   
/*
run:

1  2  3  5  6
    
*/

 



answered Feb 12, 2016 by avibootz
0 votes
package javaapplication1;

public class Example {
    
    public static void main(String[] args) {
               
        int arr[] = new int[] {1, 2, 3, 2, 5, 6, 6, 2};
        int size = arr.length, k;
 
        for (int i = 0; i < size; i++)
        {
            for (int j = i + 1; j < size;)
            {
                if (arr[j] == arr[i])
                {
                    for (k = j; k < size - 1; k++)
                    {
                        arr[k] = arr[k + 1];
                    }
                    size--;
                    arr[k] = 0;
                }
                else
                    j++;
            }
        }
 
        System.out.println("Array without duplicate elements:");
        for (int i = 0; i < size; i++)
            System.out.format("%3d", arr[i]);
 
        System.out.println("\nArray with zero set elements instead the duplicates:");
        for (int i = 0; i < arr.length; i++)
            System.out.format("%3d", arr[i]);
    }
}
   
   
/*
run:

Array without duplicate elements:
  1  2  3  5  6
Array with zero set elements instead the duplicates:
  1  2  3  5  6  0  0  0
    
*/


 



answered Feb 12, 2016 by avibootz
...