initialialization lista con un primer elemento y una colección

Daniel Hari:

¿Hay una forma abreviada (puede ser de guayaba o cualquier lib) para inicializar una aplicación Java Lista de esta manera?

List list = MagicListUtil.newArrayList(firstElement, moreElementsList);


Olivier Grégoire:

Guayaba ofrece varias posibilidades

Si tiene matrices, el uso Lists.asList(...)

String first = "first";
String[] rest = { "second", "third" };
List<String> list = Lists.asList(first, rest);

Si tiene listas u otro Iterables, el uso FluentIterable.of(...).append(...).toList():

String first = "first";
List<String> rest = Arrays.asList("second", "third");
List<String> list = FluentIterable.of(first).append(rest).toList();

Pero se puede hacer eso en Java 8, así

A pesar de que, es mucho más prolija, pero aún así ...

Con una matriz

String first = "first";
String[] rest = { "second", "third" };
List<String> list = Stream.concat(Stream.of(first), Arrays.stream(rest))
  .collect(Collectors.toList());

Con una colección

String first = "first";
List<String> rest = Arrays.asList("second", "third");
List<String> list = Stream.concat(Stream.of(first), rest.stream())
  .collect(Collectors.toList());

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=332562&siteId=1
Recomendado
Clasificación