Also nochmal:
List list1 = null;
List list2 = null;
List listRückgabe;
listRückgabe = //Funktionsaufruf
list1.add(listRückgabe.get(0));
list2.add(listRückgabe.get(0));
Wie ich herausbekomme dass die Liste leer ist? Indem ich sie
mit System.out.println ausgeben lasse.
Das ist natürlich wichtig zu wissen, weil vielleicht sind die Listen ja nicht leer, wenn du einen Fehler bei der Ausgabe hast. Das kann man aber nur beurteilen, wenn man deinen Code sieht.
Eigentlich habe ich jetzt die gleichen Infos wie vorher
geliefert, aber vllt funktioniert deine Glaskugel ja jetzt
wieder.
Nein, weil dein obiger Code so oder so Fehler enthält. Das Programm würde bei Zeile :list1.add(listRückgabe.get(0));
mit einer NullPointerException abstürzen, weil list1 dort auf null steht und gar nicht initialisiert ist.
Also Glaskugel noch nicht einsatzbereit 
Poste doch mal den kompletten relevanten Code, also alles was irgendwie mit list1, list2 und listRueckgabe zu tun hat. Also alles von der Instantiierung bis zur Ausgabe.
So wie in diesem Beispiel hier, das tadellos funktioniert und wo das erste Element der zurückgegebenen Liste wunderbar am Ende in list1 und list2 drin ist.
import java.util.\*;
public class Test {
public static void main(String[] argv) {
List list1 = new ArrayList();
List list2 = new ArrayList();
List listRueckgabe = gibListeZurueck();
list1.add(listRueckgabe.get(0));
list2.add(listRueckgabe.get(0));
System.out.println("List1: " + list1);
System.out.println("List2: " + list2);
}
private static List gibListeZurueck() {
return Arrays.asList(new String[] { "a", "b", "c"});
}
}
In diesem Beispiel würde das ganze tadellos funktionieren, d.h. in list1 und list2 wäre am Ende das erste Element aus listRueckgabe. So wie du es willst. Die Ausgabe des Programms ist dann:
&> java Test
List1: [a]
List2: [a]