Коришћење add() и addAll() метода за Java List

Коришћење метода add() и addAll() за Java листу

Увод

У Java-и, листа је збирка објеката који чува елементе у посебном редоследу. Постоје различите имплементације листе, укључујући:

* ArrayList – А динамичка листа која може да се мења и садржи елементе било ког типа података.
* LinkedList – Листа двоструко повезаних нодова која омогућава брза убацивања и брисања елемената.
* Vector – Синхронизована верзија ArrayList која подржава вишезначну приступност.

add() и addAll() су две важне методе које се користе за манипулисање елементима у Java листама. Овај чланак детаљно објашњава њихову функционалност, синтаксу и употребу.

Метода add()

Метода add() додаје један елемент на крај листе. Синтакса add() методе је следећа:

java
public boolean add(E e)

где је E тип елемената који се чувају у листи.

Метода add() враћа true ако је елемент успешно додат, у супротном враћа false.

Пример употребе методе add()

Следећи пример показује како да користите add() методу за додавање елемената у ArrayList:

java
import java.util.ArrayList;

public class AddExample {

public static void main(String[] args) {
// Креирајте ArrayList
ArrayList<String> names = new ArrayList<>();

// Додајте елементе у листу користећи методу add()
names.add("Јован");
names.add("Марија");
names.add("Петар");

// Испишите листу
System.out.println(names);
}
}

Излаз овог програма биће:


[Јован, Марија, Петар]

Метода addAll()

Метода addAll() додаје све елементе из колекције на крај листе. Синтакса addAll() методе је следећа:

java
public boolean addAll(Collection<? extends E> c)

где је c колекција елемената који ће бити додани у листу.

Метода addAll() враћа true ако су сви елементи успешно додани, у супротном враћа false.

Пример употребе методе addAll()

Следећи пример показује како да користите addAll() методу за додавање елемената у ArrayList из друге колекције:

java
import java.util.ArrayList;
import java.util.Arrays;

public class AddAllExample {

public static void main(String[] args) {
// Креирајте ArrayList
ArrayList<String> names = new ArrayList<>();

// Креирајте другу колекцију
String[] newNames = {"Ана", "Борис", "Цвета"};
List<String> newList = Arrays.asList(newNames);

// Додајте све елементе из новог списка у постојећи списак користећи методу addAll()
names.addAll(newList);

// Испишите листу
System.out.println(names);
}
}

Излаз овог програма биће:


[Јован, Марија, Петар, Ана, Борис, Цвета]

Закључак

Методе add() и addAll() су ефикасни начини за додавање елемената у Java листе. add() метода додаје један елемент на крај листе, док addAll() метода додаје све елементе из колекције. Разumeвањем разлике између ове две методе, програмери могу ефикасно манипулисати својим Java листама.

Често постављана питања (FAQs)

1. Како додати елемент на почетак листе?

Не можете директно да додате елемент на почетак листе користећи add() или addAll() методе. Можете да користите add(0, element) да додате елемент на почетак ArrayList или LinkedList.

2. Могу ли да додајем различите типове података у листу?

Да, можете да додајете различите типове података у листу која није наведена као тип. Међутим, препоручује се коришћење листе са параметризованим типом како би се избегли проблеми са типом приликом приступања елементима.

3. Да ли је метода addAll() ефикаснија од појединачног позива add()?

Да, метода addAll() је обично ефикаснија јер обавља мање операција убацивања. Међутим, разлика у перформансама можда неће бити значајна за мале листе.

4. Како да додам колекцију у листу без дуплирања елемената?

Користите addAll(Collection<? extends E> c) која проверава дупликате и додаје само јединствене елементе. Такође, можете користити LinkedHashSet да уклоните дупликате пре позивања addAll().

5. Могу ли да додајем null у листу?

Да, можете да додајете null у листу, али обратите пажњу да ће то утицати на резултате метода које проверавају null вредности.

6. Шта се дешава ако покушам да додајем елемент у немодификабилну листу?

Добићете UnsupportedOperationException. Немодификабилне листе не могу да се мењају, тако да не можете додати или уклонити елементе из њих.

7. Како да проверим да ли је елемент додат у листу?

Користите методу contains() да проверите да ли је елемент у листи. Такође, можете користити indexOf() да пронађете индекс елемента или lastIndexOf() да пронађете последњу појаву елемента.

8. Могу ли да додајем листу у другу листу?

Да, можете да додајете листу у другу листу користећи addAll() методу. То ће додати све елементе из једне листе у другу.

9. Која је главна разлика између ArrayList и LinkedList?

ArrayList је базиран на индексу и брз је приликом приступања елементима на основу индекса. LinkedList је базиран на чворовима и брз је приликом убацивања и брисања елемената у средини листе.

10. Када да користим методу add() уместо addAll()?

Користите add() када желите да додате један елемент на крај листе. Користите addAll() када желите да додате више елемената или читаву колекцију у листу.