Я добавил элемент к списку a
, а затем добавил список a
в список b
и сделал то же самое снова.Добавление элементов ArrayList в другой ArrayList из ArrayList
Мой вопрос, если я печатаю b.get(0)
и b.get(1)
, я получаю один и тот же список, который как элементы "One"
и "Two"
, почему это так?
b.get(0)
Я хочу получить только один элемент, который я добавил, это a.add("One")
.
После добавления a.add("Two")
, если я печатаю b.get(1)
Я должен получить как "One"
, так и "Two"
?
Есть ли какие-либо решения или какие-либо изменения для управления этим?
List<String> a= new ArrayList<String>();
List<List<String>> b= new ArrayList<List<String>>();
a.add("One");
b.add(a);
a.add("Two");
b.add(a);
System.out.println("b="+b.get(0));
System.out.println("b="+b.get(1));
выход:
b=[One, Two]
b=[One, Two]
вы все еще работает на том же экземпляре 'ArrayList', следовательно, список' b' на индекс один и два относятся к тому же экземпляру 'ArrayList' – SomeJavaGuy
https://www.youtube.com/watch?v=TWFIKR3Yn0o –