Ответ 1
Как насчет:
ArrayList<String> s = new ArrayList<String>();
Collections.addAll(s, "a1", "str", "mystr");
У меня очень простой вопрос:
Как я могу сделать этот код более простым на 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"));
Мне просто нужен синтаксический намек. Спасибо.
Как насчет:
ArrayList<String> s = new ArrayList<String>();
Collections.addAll(s, "a1", "str", "mystr");
List<String> s = Arrays.asList("a1", "str", "mystr");
List<String> s = Arrays.asList(new String[] {"a1", "str", "mystr"});
Вы можете использовать двойную скобку:
ArrayList<String> s = new ArrayList<String>()
{{
add("str1");
add("str hello");
add("str bye");
//...
}};
Я бы использовал Guava и его замечательный Lists
класс:
List<String> list = Lists.newArrayList("a1", "str", "mystr");
Если вы используете 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"))
До или после 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.