I have seen this 2d Arraylist Question multiple times on SO, but don't understand why this doesn't work for my Language App.
I have an arraylist (called stage1) containing multiple arraylists (each is called entry) The System.out.println("In switch: this is entry" + entry); displays the database values correctly so I am sure that the query string elsewhere is correct (e.g. [In switch: this is entry[water, aqua, C:\Users\Username\Documents\NetBeansProjects\LanguageApp\src\Images\Categories\Food images\water.png]) 
But when I add entry to stage 1 and try to access it via stage1.get(0).get(0) I get the error "Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0" which is why I tested if stage1 is empty. The other trace statement confirms that stage1 is null even after entries are added. 
   ArrayList<List<String>> stage1 = new ArrayList<>();
    ArrayList<String> entry = new ArrayList<>();
    int count = 0;
    //words is an Observable List of all words relating to a specific category and langage 
    for (Words k : words) {
        String eng = k.getEnglishWord();
        String trans = "";
        switch (lang) {
            case "spanish":
                trans = k.getSpanishWord();
                break;
            case "french":
                trans = k.getFrenchWord();
                break;
            case "german":
                trans = k.getGermanWord();
                break;
        }
        String pic = k.getPicture();
        entry.add(eng);
        entry.add(trans);
        entry.add(pic);
       System.out.println("This is entry" + entry);
       stage1.add(entry);
       entry.clear();
    if(stage1.size()!=0){  System.out.println("Stage1 " + stage1.get(0).get(0));
    }
    else {System.out.println("IT IS NULL");}     
}
 
     
    