Comment puis-je couper une ArrayList d'une liste de tableaux en Java?

Comment puis-je obtenir une tranche de tableau d'un ArrayList en Java? Plus précisément, je veux faire quelque chose comme ceci:

ArrayList<Integer> inputA = input.subList(0, input.size()/2);
//where 'input' is a prepouplated ArrayList<Integer>

J'ai donc attendu à ce travail, mais Java renvoie une List - donc, c'est incompatible. Et quand j'essaie de le lancer, Java ne me laisse pas. J'ai besoin d'un ArrayList - ce que je peux faire?

  • Pourquoi insistez-vous à l'aide d'un ArrayList? Je pense que vous manque peut-être un peu de comprendre comment les interfaces de travail parce que List et ArrayList ne sont pas “incompatibles”—ArrayList implémente List, et List probablement contient toutes les méthodes nécessaires dont vous avez besoin.
  • J'insiste sur l'utilisation de la liste de tableaux, car ses inteview question avec une méthode rigide prototype. De toute évidence, je dois avoir un manque de compréhension, parce que sous-liste est censé renvoyer un type de Liste, et pourtant je ne peux pas jeter la Liste retournée à ArrayList. Alors dites-moi, l'homme..
  • C'est tout à fait possible qu'il a besoin d'une ArrayList car il doit appeler une méthode avec elle qui accepte un ArrayList. Sans doute une telle méthode est mal conçu et doit accepter List au lieu de cela, mais de telles situations peuvent survenir non seulement dans les questions de l'entretien, mais dans le code écrit par d'autres que l'on ne peut pas juste aller et de changement. Co-travailleurs et les bibliothèques ne sont pas toujours parfait.
  • Voir stackoverflow.com/questions/1279476/...
InformationsquelleAutor B T | 2009-09-26