Непроверенный вызов ‘add(E)’ как члена необработанного типа ‘java.util.ArrayList’

#java

#java

Вопрос:

я пытаюсь закончить свою школьную задачу, и меня беспокоит это предупреждение, я просто новичок в программировании, и я ищу совета здесь

 public class Graphs {

    public static void main(String[] args) {
        ArrayList<ArrayList> adj = new ArrayList<>();
        char[] vertices;
        vertices = new char[]{'a', 'b', 'c', 'd', 'e', 'f', 'g'};

        int num = 7;

        adj.add(new ArrayList<>());
        adj.add(new ArrayList<>());
        adj.add(new ArrayList<>());
        adj.add(new ArrayList<>());
        adj.add(new ArrayList<>());
        adj.add(new ArrayList<>());
        adj.add(new ArrayList<>());


        adj.get(0).add('b');
        adj.get(1).add('c');
        adj.get(2).add('d');
        adj.get(2).add('e');
        adj.get(3).add('c');
        adj.get(3).add('e');
        adj.get(3).add('f');
        adj.get(3).add('g');
        adj.get(4).add('c');
        adj.get(4).add('d');
        adj.get(4).add('f');
        adj.get(5).add('d');
        adj.get(5).add('e');
        adj.get(6).add('d');

        int c;
        int x;
        x = 0;
        c = 0;
        while (x < num) {
            System.out.println(vertices[c]   ":is connected to "   adj.get(x));

            x  ;
            c  ;
        }
    }
}
 

Непроверенный вызов ‘add(E)’ как члена необработанного типа ‘java.util.ArrayList’

Комментарии:

1. Вместо этого вы можете использовать список массивов <Символ[]>, где каждый элемент сам по себе является массивом

Ответ №1:

Ваша переменная adj имеет тип list списка.

 ArrayList<ArrayList> adj = new ArrayList<>();
 

Но параметр типа внутреннего списка не указан. Определение его, как показано ниже, исправит предупреждение.

 ArrayList<ArrayList<Character>> adj = new ArrayList<>();