Домой Учебники по Java и J2EE Разница между Arrays.asList (массив) против. ArrayList (Arrays.asList (array)) в Java

Разница между Arrays.asList (массив) против. ArrayList (Arrays.asList (array)) в Java

826
0

В Java какая разница между List Vs. ArrayList ? Другими словами, вы когда-нибудь задумывались, в чем разница между Arrays.asList (массив) и ArrayList (Arrays.asList (массив))? Это простая Java-программа, которая демонстрирует разницу между ними, т.е. List Vs. ArrayList .

Давайте сначала посмотрим на оба утверждения:

1
crunchifyList1 знак равно новый ArrayList < Integer > ( Arrays . AsList ( crunchifyArray ) ) ;

Вот crunchifyList1 имеет тип ArrayList .. Очень просто.

1
crunchifyList2 знак равно Массивы . asList ( crunchifyArray ) ;

Вот crunchifyList2 список фиксированного размера, поддерживаемый указанным массивом В нашем случае это типа Integer , Также это типа List и не ArrayList ,

В чем разница между Листом и Аррайлистом?

Ответ очень прост. Список является interface ArrayList является class который реализует List , Ниже приведен список всех доступных методов для ArrayList.

Посмотрите на нижеприведенную Java-программу, которая четко объясняет разницу между ними.

CrunchifyDiffArraysAsList.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
пакет crunchify. ком . учебник ;
импорт Java . Util. ArrayList ;
импорт Java . Util. Массивы ;
импорт Java . Util. Итератор ;
импорт Java . Util. Список ;
/ **
* @author Crunchify.com
*
* /
общественности учебный класс CrunchifyDiffArraysAsList {
общественности статический недействительным main ( Строка [ ] аргументы ) {
Список < Целое число > crunchifyList1 , crunchifyList2 знак равно ноль ;
Целое число [ ] crunchifyArray знак равно { 5 , 7 , 9 } ;
crunchifyList1 знак равно новый ArrayList < Integer > ( Arrays . AsList ( crunchifyArray ) ) ;
// crunchifyList1 имеет тип ArrayList
crunchifyList1 . добавить ( 11 ) ;
// asList () возвращает список фиксированного размера, подкрепленный указанным массивом. (Изменения в возвращенном списке сквозная запись в массив.)
crunchifyList2 знак равно Массивы . asList ( crunchifyArray ) ;
crunchifyList2 . добавить ( 12 ) ; // метод add () не может использовать crunchifyList2.
// crunchifyList2 возвращается как представление списка, к нему подключены только методы.
// Исключение в потоке main java.lang.UnsupportedOperationException
// at java.util.AbstractList.add (AbstractList.java:148)
// at java.util.AbstractList.add (AbstractList.java:108)
// at crunchify.com.tutorials.CrunchifyDiffArraysAsList.main (CrunchifyDiffArraysAsList.java:24)
// crunchifyList2.add (11); // Из-за вышеуказанного исключения вы не можете добавить значение к crunchifyList2
log ( crunchifyList1: ) ;
// iterator () возвращает итератор для элементов в этом списке в правильной последовательности.
Iterator < Integer > crunchifyIterator1 знак равно crunchifyList1 . итератор ( ) ;
в то время как ( crunchifyIterator1 . hasNext ( ) ) {
log ( crunchifyIterator1 . next ( ) + ) ;
}
log ( / ncrunchifyList2: ) ;
Iterator < Integer > crunchifyIterator2 знак равно crunchifyList2 . итератор ( ) ;
в то время как ( crunchifyIterator2 . hasNext ( ) ) {
log ( crunchifyIterator2 . next ( ) + ) ;
}
}
частный статический недействительным log ( Строка строка ) {
Система. вне. println ( строка ) ;
}
}

После запуска вышеуказанной программы вы увидите следующее исключение:

1
2
3
4
Исключение в нить главный Java. яз. UnsupportedOperationException
в Яве . Util. AbstractList . добавить ( AbstractList . Java : 148 )
в Яве . Util. AbstractList . добавить ( AbstractList . Java : 108 )
в crunchify. ком . учебник . CrunchifyDiffArraysAsList . main ( CrunchifyDiffArraysAsList . java : 27 )

Просто commented out above highlighted line 27 и перезапустите программу, чтобы увидеть результат ниже.

ЧИТАТЬ ТАКЖЕ:  Как сериализовать десериализовать список объектов в Java? Пример сериализации Java

Eclipse Console Результат:

1
2
3
4
5
6
7
8
9
10
crunchifyList1 :
5
7
9
11
crunchifyList2 :
5
7
9

Надеюсь, вы получите четкое представление о разнице между list vs arraylist на Яве.

Разница между Arrays.asList (массив) против. ArrayList (Arrays.asList (array)) в Java

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь