package test;import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Random;public class LotteryTicket { public static void main(String[] args) {
//前区
HashSet<Integer> q = new HashSet<Integer>();
Random random = new Random();
        while (q.size() != 6) {
   q.add(random.nextInt(33) + 1);
    }//排序
     List<Integer> listq = new ArrayList<Integer>();
       for(Integer value : q){
              listq.add(value);
            }
    Collections.sort(listq);
    //后区
    HashSet<Integer> h=new HashSet<Integer>();
    Random randoms=new Random();
    h.add(random.nextInt(17)+1);
    
    //机选数字前
    HashSet<Integer> jqq=new HashSet<Integer>();
       Random randomj = new Random();
        while (jqq.size() != 6) {
   jqq.add(randomj.nextInt(33) + 1);
    }//排序
        List<Integer> listj= new ArrayList<Integer>();
       for(final Integer value :jqq){
              listj.add(value);
            }
       Collections.sort(listj);
    //机选数字后   
       HashSet<Integer> jqh=new HashSet<Integer>();
       jqh.add(random.nextInt(17) + 1); 
      // System.out.println("前区红色球开奖号码:"+listq+"后区蓝色球开奖号码:"+h);
    
      }
            
        }
   
       //System.out.println("机器自选前区红色球:"+listj+"机器自选后区蓝色球"+jqh);  
}

}

解决方案 »

  1.   

    如果是HashSet的话,直接equals,那个方法重写过的。
    如果是List可以排序一下再equals(如果内容相同,排序不同,一样是false)还有应该可以用判断长度相等的情况下用containsAll方法来判断是否内容相等
      

  2.   

    那就写个循环,用contains方法进行比较咯
      

  3.   

    最后加这个看看      System.out.print("相同号码:");
            for (Integer i: listq) {
                if (listj.contains(i)) {
                    System.out.print(i.intValue()+",");
                }
            }