Получить список из списков в java? - PullRequest
0 голосов
/ 07 февраля 2020

Во-первых, я должен сказать, что я попытался найти объяснение в inte rnet, но все мне неясно.

Я работаю с программой на java FX. У одного из классов есть метод, генерирующий два списка:

listA = [0,2,3,4,1,2,5,12,3,2,1,3]
listB = [2,3,4,1,2,1,2,3,1,2,3,4]

Мне нужно вернуть эти списки, поэтому я соединяю его в один:

ArrayList<List<Integer>> result = new ArrayList<List<Integer>>();
        result.add(listA);
        result.add(listB);
        return(result);

заголовок этого метода выглядит так:

static public List man() { #could be usefull to explain me how to fix my code.

Итак, теперь в другом классе я вызываю метод:

List newList= classTest.man();

И печатаю его:

System.out.println(newList);

Итак, я получил:

[[0,2,3,4,1,2,5,12,3,2,1,3][2,3,4,1,2,1,2,3,1,2,3,4]]

И это нормально, я просто хочу написать oop, чтобы заполнить данные для моего графика:

for(int i; i < newList.get(0).length(); i++){
  String iterationNum= Integer.toString(newList.get(0).get(i);
  series.getData().add(new XYChart.Data<String, Number>(iterationNum; newList.get(0).get(i)));

Но сначала:

1. .length() is red : error = "Cannot resolve symbol 'length'"

2. in newList.get(0).get(i) the second .get(i) is red. error = "Cannot resolve method 'get' in 'Object'"

Пожалуйста, кто-нибудь может помочь мне решить мою проблема? Я написал почти всю программу и застрял здесь.

Ответы [ 2 ]

3 голосов
/ 07 февраля 2020

длина - красный: error = "Не удается разрешить символ" длина ""

.length используется для получения длины массива. Вы используете, я полагаю, java.util.List. Вам нужно использовать метод size, например, newList.get(0).size()

в newList.get (0) .get (i), второй .get (i) красный. error = "Не удается разрешить метод 'get' в 'Object'"

static public List man() Я не уверен, что этот метод делает, но вы используете необработанный тип. Это означает, что List, который вы получаете, в основном эквивалентен List<Object>.

Итак, вы пытаетесь вызвать Object#get(i), а get не является допустимым методом для объекта. Вам нужно указать, какой тип List man() будет возвращен. Например, List<Integer> man() или любой другой тип, который должен быть. Я не могу сказать из вашего кода, что вы на самом деле делаете.

2 голосов
/ 07 февраля 2020
  1. ". Length" используется для определения длины массива. Для списков вы используете ".size ()"

  2. Попробуйте заменить его на ((List<Integer>) newList.get(0)).get(i);

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