int[] num = new int[]{1,2,3,55,3};怎样才能找出数组中相同的数?

解决方案 »

  1.   


      for(int i:num)
    {
      ....
    }
      

  2.   

    第一种办法:把数组中的元素扔进一个Set中,一边扔,一边用contains()方法判断。(如果计数就用Map)
    第二种办法:如果你的数组元素的值范围比较小,可以设一boolean数组,数组的大小就是元素值的范围的大小,比如元素范围在-5~+5之间,你可以设new boolean b[11]的数据,扫描你的数组a,a[i]+5做为下标,设置b数组的值为true ,一边设一边判断b[a[i]+5]是不是true。(如果是计数b数组就设为int。)
    第三种办法:从第一个元素(最后一个也可以)开始,一个个的与后面(前面的)的元素比较,找出来就行了。
    可能还有其它办法。
      

  3.   

    It's the better:第一种办法:把数组中的元素扔进一个Set中,一边扔,一边用contains()方法判断。(如果计数就用Map) 
      

  4.   

    、、、、、、、、、、、、、、、、、、、、、、、、、
    public Set selectArray(int[]ary){
    Set set=new HashSet();
    for(int i=0;i<ary.length;i++)
    {
    for(int j=i+1;j<ary.length;j++){
    if(ary[j]==ary[i]){
    set.add(ary[i]);
    }
    }
    }
    return set;
    }
      

  5.   


    import java.util.*;class GetDuplicate {
       public static void main(String[] args) {
          int[] num = {1,2,3,55,3};
          Set set = new HashSet();
          List list = new ArrayList();
          
          for(int i = 0; i < num.length; i++) {
             if(set.contains(num[i])) {
                list.add(num[i]);
             }
             else {
                set.add(num[i]);
             }
          }
          
          Iterator it = list.iterator();
          
          while(it.hasNext()) {
             System.out.println(it.next());
          }
       }   
    }
      

  6.   

    public void test3(){
    int[] num = new int[]{1,2,3,55,3};
    for(int i=0;i<num.length;i++){
    for(int j=i+1;j<num.length;j++){
    if(num[i]==num[j]){
    System.out.println(num[i]);
    }
    }
    }
    }
      

  7.   

    public void test3(){
    int[] num = new int[]{1,2,3,55,3};
    for(int i=0;i<num.length;i++){
    for(int j=i+1;j<num.length;j++){
    if(num[i]==num[j]){
    System.out.println(num[i]);
    }
    }
    }
    }
      

  8.   

    public void test3(){
    int[] num = new int[]{1,2,3,55,3};
    for(int i=0;i<num.length;i++){
    for(int j=i+1;j<num.length;j++){
    if(num[i]==num[j]){
    System.out.println(num[i]);
    }
    }
    }
    }
      

  9.   


    这种方法,只能用于这个数组,如果是这个数组的话就会有问题int[] Num={1,2,2,5,6,1,235,36,1,1,1,54};
    我也是个初学者,我是这样写的,觉的比较复杂public static void uniformNum(int[] Num)
    {
    Set set1 = new HashSet<Integer>();
    Set set2 = new HashSet<Integer>();

    for(int i=0;i<Num.length;i++)
    {
    int  = set1.size();
    set1.add(Num[i]);
    if(set1.size()==)
    {
    set2.add(Num[i]);
    }
    }

    Iterator<Integer> iterator = set2.iterator();
    while(iterator.hasNext())
    {
    System.out.print(iterator.next()+" ");
    }
    }