10

What is the shortest way to fill the ArrayList? Something like:

ArrayList<Integer[]> list = new ArrayList<Integer[]>();
list.add({1,10,1,1});
list.add({2,11,1,1});

Or:

ArrayList<Integer[]> list = ({1,10,1,1},{2,11,1,1});
skaffman
  • 398,947
  • 96
  • 818
  • 769
Klausos Klausos
  • 15,308
  • 51
  • 135
  • 217

4 Answers4

16

How about this shortcut:

List<int[]> list = Arrays.asList( new int[][]{{1,10,1,1}, {2,11,1,1}} );
anubhava
  • 761,203
  • 64
  • 569
  • 643
6

Using guava

Lists.newArrayList(new int[]{1,2,3}, new int[]{2,4,5}, new int[]{5,6,7});
Bozho
  • 588,226
  • 146
  • 1,060
  • 1,140
3

To fix your first attempt:

ArrayList<Integer[]> list = new ArrayList<Integer[]>();
list.add(new Integer[]{1,10,1,1});
list.add(new Integer[]{2,11,1,1});
Tudor
  • 61,523
  • 12
  • 102
  • 142
2
List<Integer[]> list = new ArrayList<Integer[]>();
list.add(new Integer[] { 1, 10, 1, 1 });
list.add(new Integer[] { 2, 11, 1, 1 });

Or here is a one-liner:

List<Integer[]> list = Arrays.asList(new Integer[] { 1, 10, 1, 1 }, new Integer[] { 2, 11, 1, 1 });
Beau Grantham
  • 3,435
  • 5
  • 33
  • 43