当前位置: 代码迷 >> Eclipse >> java消除重复的有关问题
  详细解决方案

java消除重复的有关问题

热度:9   发布时间:2016-04-23 02:02:15.0
java消除重复的问题
比如输入 1 2 3 2 1 6 3 4 5 2
输出 1 2 3 6 4 5
public static int[] eliminateDuplicates(int[] numbers)
{

}
这里面的函数式要如何写的?  小弟初学者  很是迷茫。。。
------解决方案--------------------
放到Set集合里!
------解决方案--------------------
public class test2 
{
public static void main(String[] args) throws IOException{
int[] numbers={1,2,3,2,1,6,3,4,5,2};
int[] newAAA=eliminateDuplicates(numbers);


for(int i=0;i<newAAA.length;i++){
System.out.println(newAAA[i]);
}
}

public static int[] eliminateDuplicates(int[] numbers)
{
HashSet hs=new HashSet();
for(int i=0;i<numbers.length;i++){
hs.add(numbers[i]);
}

int[] aaa=new int[hs.size()];
Iterator<Integer> iterator=hs.iterator();
int n=0;
while(iterator.hasNext()){
aaa[n]=iterator.next();
n++;
}
return aaa;

}
}
------解决方案--------------------
引用:
public class test2 
{
public static void main(String[] args) throws IOException{
int[] numbers={1,2,3,2,1,6,3,4,5,2};
int[] newAAA=eliminateDuplicates(numbers);


for(int i=0;i<newAAA.length;i……

那个。。是需要自己从键盘动态输入数字的   然后不需要排序  。。。
------解决方案--------------------
import java.util.LinkedHashSet;
import java.util.Scanner;

public class EliminateCase {
public static void main(String[] args) {
LinkedHashSet<Object> input = new LinkedHashSet<Object>();
Scanner sc = new Scanner(System.in);
System.out.println("输入数组中的元素,最后以非数字字符结束输入:");
while(sc.hasNextInt()){
input.add(sc.nextInt());
}
System.out.println(input);
sc.close();
}
}
  相关解决方案