Как сравнить два массива List разных типов? - PullRequest
0 голосов
/ 11 июня 2019

Я взял ArrayList типа Class (1 String, 6 int) и теперь мне нужно сравнить числа с другим массивом.Как я могу сравнить их?


    ArrayList<customer> customerArray= new ArrayList<customer>();   
    ArrayList<Integer> storeRandomNumbers = new ArrayList<>();
    int[] splitTheArray =new int[10];
    int t=0;

    public void buyTickets()
    {               
        customerArray.add(new customer("Jon", 4, 6, 7,8, 7,9));
        customerArray.add(new customer("Adams", 4, 4, 4,4, 4,4));

        System.out.println(customerArray);
    }        

    public void pickLottery()
    {
        Random rand1 = new Random();

        for(int i = 0; i< 6; i++)
        {
            storeRandomNumbers.add(rand1.nextInt(8)+1);

        }
        System.out.println(storeRandomNumbers);
        //splitTheArray[t++] = Integer.parseInt(customerArray[0][1]);

        System.out.println("Common Items: "+(customerArray.stream().filter(storeRandomNumbers::contains).collect(Collectors.toList())));
    }


}

Я ожидал, что числа customerArray будут сравниваться с storeRandomNumbers и дать совпадающие числа

1 Ответ

0 голосов
/ 11 июня 2019

Добавьте метод в своем классе клиентов для проверки номеров клиентов со списком номеров лотереи. Предполагая, что этот метод вернет «true», если все номера клиентов совпадают с номерами лотереи, «false» в противном случае.

public boolean containsLottery(List<Integer> lotteryList)
{
        boolean result= false;// default result is false
        // implement your solution for finding if the numbers are a match
        return result;
}

Все, что вам нужно изменить в основном коде, это часть:

List<customer> CommonList = (customerArray.stream().filter(x-> x.containsLottery(storeRandomNumbers)).collect(Collectors.toList())) ;

Я протестировал его на своей версии класса клиента, и эта .filter (x-> x.containsLottery (storeRandomNumbers)) часть, кажется, работает. Попробуйте и дайте мне знать, как это происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...