Список быстрых массивов Java - PullRequest
13 голосов
/ 14 октября 2011

У меня очень простой вопрос:

Как мне сделать этот код более простым на Java:

ArrayList<String> s = new ArrayList<String>();
s.add("str1");
s.add("str hello");
s.add("str bye");
//...

Что-то вроде этого:

ArrayList<String> s = {"a1", "str", "mystr"};

иличто:

ArrayList<String> s = new ArrayList<String>("a1", "str", "mystr");

или что:

ArrayList<String> s = new ArrayList<String>();
s.addAll("a1", "str", "mystr");

или что:

ArrayList<String> s = new ArrayList<String>();
s.addAll(new ArrayElements("a1", "str", "mystr"));

Мне просто нужна подсказка синтаксиса.Благодаря.

Ответы [ 7 ]

31 голосов
/ 14 октября 2011

List<String> s = Arrays.asList("a1", "str", "mystr");

22 голосов
/ 14 октября 2011

Как насчет:

ArrayList<String> s = new ArrayList<String>();
Collections.addAll(s, "a1", "str", "mystr");
5 голосов
/ 14 октября 2011

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

ArrayList<String> s = new ArrayList<String>()
{{
    add("str1");
    add("str hello");
    add("str bye");
    //...
}};
5 голосов
/ 14 октября 2011
List<String> s = Arrays.asList(new String[] {"a1", "str", "mystr"});
4 голосов
/ 14 октября 2011

Я бы использовал Гуава и его замечательный Lists класс:

List<String> list = Lists.newArrayList("a1", "str", "mystr");
2 голосов
/ 24 июня 2019

До или после Java 8 вы можете написать:

ArrayList<String> s = 
    new ArrayList<>(Arrays.asList("str1", "str hello", "str bye"));

Начиная с Java 8 вы можете написать:

ArrayList<String> s =
    Stream.of("str1", "str hello", "str bye")
        .collect(Collectors.toCollection(ArrayList::new));

С Eclipse Collections вы можете написать следующее:

ArrayList<String> s =
    Lists.mutable.with("str1", "str hello", "str bye")
        .into(new ArrayList<>());

Если вы можете использовать List вместо ArrayList:

List<String> s = Lists.mutable.with("str1", "str hello", "str bye");

Примечание: я являюсь коммиттером для Eclipse Collections.

0 голосов
/ 29 сентября 2017

Если вы используете Java 9, вы можете использовать List.of () :

List<String> s = List.of("str1", "str hello", "str bye");

Но это был бы неизменный список. Если вам нужен изменяемый Arraylist:

ArrayList<String> s = new ArrayList<>(List.of("str1", "str hello", "str bye"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...