How to eliminate duplicates from an array?
Answers were Sorted based on User's Feedback
Answer / edward sudhaharchennai
Unlike other implementations of the collection interface,
implementation of the Set intrface do not allow duplicate
elements. This also means that a set can contain at most
one null value. The set interface does not define any new
methods, and its add() and addAll() methods will not store
duplicates. If an element is not currently in the set, two
consecutive calls to the add() method to insert the element
will first return true then false...........
Is This Answer Correct ? | 6 Yes | 2 No |
Answer / qim2010
Using HashSet class we can eliminate duplicates from and
array. Here is a simple example
public class ArrayRemoveDuplicate {
public static void main(String[] args) {
//
// A string array with duplicate values
//
String[] data = {"A", "C", "B", "D", "A", "B", "E",
"D", "B", "C"};
System.out.println("Original array : " +
Arrays.toString(data));
//
// Convert it to list as we need the list object to
create a set object.
// A set is a collection object that cannot have a
duplicate values, so
// by converting the array to a set the duplicate
value will be removed.
//
List<String> list = Arrays.asList(data);
Set<String> set = new HashSet<String>(list);
System.out.print("Remove duplicate result: ");
//
// Create an array to convert the Set back to array.
The Set.toArray()
// method copy the value in the set to the defined
array.
//
String[] result = new String[set.size()];
set.toArray(result);
for (String s : result) {
System.out.print(s + ", ");
}
}
}
Is This Answer Correct ? | 5 Yes | 1 No |
Answer / vijaya bhaskar teegala
use linkedHashSet.It will maintain the insertion order
Is This Answer Correct ? | 1 Yes | 1 No |
Answer / elango boopathy
package com.sample.pack;
import java.util.ArrayList;
import java.util.List;
public class Duplicates {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int k = 1;
String[] str = { "abc", "123", "tyu", "xyz", "123", "m",
"abc", "abc" };
boolean isDuplicate = false;
List<String> list = new ArrayList<String>();
for (int i = 0; i < str.length; i++) {
for (int j = k; j < str.length; j++) {
if (str[i].equals(str[j].toString())) {
isDuplicate = true;
}
}
k = k + 1;
if(isDuplicate == false){
list.add(str[i]);
}
isDuplicate = false;
}
Object[] afterDuplicate = list.toArray();
for(int i=0; i<afterDuplicate.length; i++){
System.out.println(afterDuplicate[i]);
}
}
}
Is This Answer Correct ? | 0 Yes | 0 No |
Differentiate between run time error and syntax error.
Which object oriented concept is achieved by using overloading and overriding?
How do you calculate roots in java?
What is the maximum size of byte array in java?
What is string :: npos?
What is the unit of plancks constant?
Memory management in JAVA
3 Answers Tech Mahindra, Wipro,
How does queue work in java?
What is the byte order of byte buffer?
Why do you canvas?
How to read and write image from a file ?
what is class.forname() and how it will be useful ?