Comment puis-je prendre un Java Ensemble de taille X et briser en X/Y de Jeux?
J'ai un Java Jeu (plus précisément HashSet). Supposons qu'il a une taille de 10k. Comment puis-je diviser en 5 Sets chacun de taille 2k?
Boucle, le comte, insérer.
Est-il une règle spécifique que vous souhaitez utiliser lors de la distribution des éléments dans ces 5 sous-ensembles?
Aucune règle spécifique n'est nécessaire. Je pourrais faire comme nhahtdh suggéré. J'ai pensé que j'étais juste donnant sur une lib appel comme une Liste.sous-liste
C'est ce que la JavaDoc est:
Est-il une règle spécifique que vous souhaitez utiliser lors de la distribution des éléments dans ces 5 sous-ensembles?
Aucune règle spécifique n'est nécessaire. Je pourrais faire comme nhahtdh suggéré. J'ai pensé que j'étais juste donnant sur une lib appel comme une Liste.sous-liste
C'est ce que la JavaDoc est:
List
, Collections
, Arrays
, Set
...OriginalL'auteur James | 2013-05-08
Vous devez vous connecter pour publier un commentaire.
Cette méthode permettra de séparer les éléments de l'ensemble, de sorte que le premier ensemble contient les 2000 premiers, le deuxième contient les 2000, etc.
En effet!
Dans le cas de 5 éléments étant divisé à la page 2 éléments, votre code donne 2 pages avec 2 éléments. Le dernier est perdu. Donc
i < count
=>i <= count
OriginalL'auteur wchargin
Goyave a des bibliothèques pour partition Itérable classes. Le Iterables est une classe utilitaire qui a des méthodes statiques pour la partition Itérable classes. La valeur de retour est un objet iterable listes si. Le code montre comment le faire.
OriginalL'auteur user2327870
Itérer sur l'ensemble de la série, et ajouter les 2000 premiers éléments d'un premier ensemble de nouveau, le 2ème à 2000 éléments de la 2e nouvel ensemble, etc.
OriginalL'auteur Tom
Si vous ne souhaitez pas écrire par votre propre ont un coup d'oeil à goyave. Les Listes de classe ont une méthode de partition(Liste, int) pour séparer une liste en plusieurs listes à la taille spécifiée.
Voir Goyave Listes
OriginalL'auteur mszalbach
J'ai écrit quelque chose qui ne le découpage de l'ensemble.
Il utilise intermédiaire des tableaux et des Listes.
Il utilise les Tableaux.asList et les Tableaux.copyOfRange méthodes.
Ce certainement pas la solution la plus élégante, mais c'est le mieux que je pouvais penser à l'arrêt le moment de ne pas vouloir de la boucle de la jeux de vous-même.
OriginalL'auteur stefaan dutry