Приведенный ниже код выглядит так, как будто он выполнит то, что вы хотите сделать с выбранными элементами в 2-мерном массиве выбранных ответов.Что касается моего комментария, предлагающего создать список списков для этой информации, то это может быть или не быть лучшим вариантом, поскольку это субъективно.
Давайте работать с тем, что вы уже имели в виду (так как вы говорите, что выЯ уже знаю, как создать 2D-массив для выбранных элементов), но затем давайте преобразуем ваш массив в ArrayList, потому что я чувствую, что они предлагают лучшую структуру для работы.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.stream.Collectors;
String[][] twoDimentionalArrayOfEverything = {
{"item1", "item2", "item3"},
{"item4", "item5", "item6"},
{"item7", "item8", "item9"} };
ArrayList<String> selectedItemsForQuiz =
Arrays.stream(twoDimentionalArrayOfEverything)
.flatMap(a -> Arrays.stream(a))
//filter selected items
.filter(b->b.equals("item1") || b.equals("item9") )
//now turn to a collection
.collect(Collectors.toCollection(() -> new ArrayList<String>()));
//loop the list
selectedItemsForQuiz.forEach(System.out::println); //item1 and item9
и вотверсия, использующая целочисленные значения вместо строк
Integer[][] answerNumbers = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9} };
ArrayList<Integer> selectedItemsNumber = Arrays.stream(answerNumbers)
.flatMap(a -> Arrays.stream(a))
//filter selected items
.filter(b->b.equals(1) || b.equals(9) )
//now turn to a collection
.collect(Collectors.toCollection(() -> new ArrayList<>()));
selectedItemsNumber.forEach(System.out::println); //1 and 9
И после всего этого, поскольку вы заявили, что хотите рандомизировать выделение, перемешивание должно работать из коллекций Java:
Collections.shuffle(selectedItemsForQuiz); //Strings
Collections.shuffle(selectedItemsNumber); //Integers