Как сделать новый список в Java - PullRequest
678 голосов
/ 13 мая 2009

Создаем Set как:

Set myset = new HashSet()

Как нам создать List в Java?

Ответы [ 24 ]

8 голосов
/ 13 мая 2009

Иногда - но только очень редко - вместо нового ArrayList может потребоваться новый LinkedList. Начните с ArrayList, и если у вас есть проблемы с производительностью и доказательства того, что список является проблемой, и много добавлений и удалений в этот список - тогда - не раньше - переключитесь на LinkedList и посмотрите, улучшатся ли вещи. Но в основном придерживайтесь ArrayList, и все будет хорошо.

7 голосов
/ 04 августа 2009

Используя Google Collections , вы можете использовать следующие методы в Lists class

import com.google.common.collect.Lists;

// ...

List<String> strings = Lists.newArrayList();

List<Integer> integers = Lists.newLinkedList();

Существуют перегрузки для инициализации и инициализации varargs из Iterable<T>.

Преимущество этих методов заключается в том, что вам не нужно явно указывать универсальный параметр, как это было бы с конструктором - компилятор выведет его из типа переменной.

7 голосов
/ 13 мая 2009

Один пример:

List somelist = new ArrayList();

Вы можете посмотреть в javadoc для List и найти все известные классы реализации интерфейса List, которые включены в java api.

6 голосов
/ 28 апреля 2017

С Java 9 вы можете сделать следующее, чтобы создать неизменный List:

List<Integer> immutableList = List.of(1, 2, 3, 4, 5);

List<Integer> mutableList = new ArrayList<>(immutableList);
6 голосов
/ 28 января 2013
List<Object> nameOfList = new ArrayList<Object>();

Вам необходимо импортировать List и ArrayList.

5 голосов
/ 14 мая 2009

Существует множество способов создания набора и списка. HashSet и ArrayList - это только два примера. В наши дни также довольно распространено использование дженериков с коллекциями. Я предлагаю вам взглянуть на то, что они

Это хорошее введение в встроенные коллекции java. http://java.sun.com/javase/6/docs/technotes/guides/collections/overview.html

5 голосов
/ 30 декабря 2014

Больше возможностей сделать то же самое с Java 8, не лучше, не хуже, просто по-другому, и если вы хотите проделать дополнительную работу со списками, Streams предоставит вам больше альтернатив (фильтр, карта, уменьшить и т. д.)

List<String> listA = Stream.of("a", "B", "C").collect(Collectors.toList());
List<Integer> listB = IntStream.range(10, 20).boxed().collect(Collectors.toList());
List<Double> listC = DoubleStream.generate(() -> { return new Random().nextDouble(); }).limit(10).boxed().collect(Collectors.toList());
LinkedList<Integer> listD = Stream.iterate(0, x -> x++).limit(10).collect(Collectors.toCollection(LinkedList::new));
5 голосов
/ 03 июля 2014
List arrList = new ArrayList();

Лучше использовать генерики, как указано ниже:

List<String> arrList = new ArrayList<String>();

arrList.add("one");

Если вы используете LinkedList.

List<String> lnkList = new LinkedList<String>();
5 голосов
/ 06 августа 2013

В качестве опции вы можете использовать двойную инициализацию здесь:

List<String> list = new ArrayList<String>(){
  {
   add("a");
   add("b");
  }
};
4 голосов
/ 14 июля 2017

Ниже приведены некоторые способы создания списков.

  • Это создаст список с фиксированным размером, добавление / удаление элементов невозможно, вы получите java.lang.UnsupportedOperationException, если вы попытаетесь это сделать.

    List<String> fixedSizeList = Arrays.asList(new String[] {"Male", "Female"});
    


  • Следующая версия представляет собой простой список, в который можно добавлять / удалять любое количество элементов.

    List<String> list = new ArrayList<>();
    


  • Это как создать LinkedList в java. Если вам нужно часто вставлять / удалять элементы в списке, вы должны использовать LinkedList вместо ArrayList

    List<String> linkedList = new LinkedList<>();
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...