Le moyen le plus rapide pour obtenir les n premiers éléments d'une Liste dans un Tableau

Quel est le moyen le plus rapide pour obtenir les n premiers éléments d'une liste stockée dans un tableau?

Considérant cela comme le scénario:

int n = 10;
ArrayList<String> in = new ArrayList<>();
for(int i = 0; i < (n+10); i++)
  in.add("foobar");

Option 1:

String[] out = new String[n];
for(int i = 0; i< n; i++)
    out[i]=in.get(i);

Option 2:

String[] out = (String[]) (in.subList(0, n)).toArray();

Option 3:
Est-il un moyen plus rapide? Peut-être avec Java8-flux?

J'attends qu'il varie selon la plate-forme et de la JVM, vous devriez essayer d'analyse comparative elle-même.
Pourquoi devrait-il depent de la jvm? Comment pourrais-je calculer la Complexité?
La complexité est facile. C'est O(n). Le rendement réel peut varier.
les deux sont fondamentalement faites la même chose, si vous regardez le code source pour subList et toArray

OriginalL'auteur Joel | 2015-07-09