Ho un arraylist contiene alcuni valori che sono in un ordine (posizioni corrette), Ora voglio scorrere/impostare/shuffle manuale modificare i valori in disordine dell'arrayylist. L'immagine qui sotto può dare la mia idea. Cambia Array-II in Array-I. Per rimescolare possiamo usare collection.shuffle(), ma qui ho un file di testo, in quel file di testo ho scritto una posizione originale e la posizione corrente dei dati nell'array sul file di testo. per esempio l'imaging, abbiamo un nome di file di testo MyFile.txt, ho scritto i dati in che, come questo, "original_position ~ Current_position", per esempio 0 ~ 0 1 ~ 2 2 ~ 4 3 ~ 3 4 ~ 1 quindi, in base ai dati di cui sopra, vorrei mescolare/impostare la matrice.come mischiare manualmente l'elenco di array
5
A
risposta
2
Qui ho trovato la soluzione alla mia domanda per favore osservatore qui. "itemList_dump" è un arraylist che contiene dati.
if (i < itemList_dump.size()) {
MyBitamp Data = itemList_dump.get(original_position_val);
// setting Values according to our algorithm
Data.setItemCurPos(original_position_val);
Data.setItemPosition(current_positon_val);
Data.setrotation(rotataion_val);
}
}
Collections.sort(itemList_dump, new Comparator<MyBitamp>() {
@Override
public int compare(MyBitamp o1, MyBitamp o2) {
if (o1.getItemPosition() > o2.getItemPosition()) {
return 1;
} else if (o1.getItemPosition() < o2.getItemPosition()) {
return -1;
} else {
return 0;
}
}
});
4
Collections.shuffle()
lo farà per voi. Collections.sort()
lo ordinerà nell'ordine naturale (A, B, C, D, E ..) se vuoi che sia ordinato.
7
Utilizzare Collections.shuffle(YOUR_ARRAY_LIST);
per farlo.
List<String> ranList = new ArrayList<String>();
// populate the list
ranList.add("A");
ranList.add("B");
ranList.add("C");
System.out.println("Initial collection: " + ranList);
// shuffle the list
Collections.shuffle(ranList);
System.out.println("Final collection after shuffle: " + ranList);
Il modo di approccio per la cernita manuale è questa:
Leggi e aggiungere i dati da file Map
private static Map<String, String> readFile(String fileNameWithPath) throws Exception {
Map<String, String> map = new LinkedHashMap<String, String>();
File file = new File(fileNameWithPath);
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
String sCurrentLine;
String[] splitPosition;
while ((sCurrentLine = bufferedReader.readLine()) != null) {
splitPosition = sCurrentLine.split("~");
map.put(splitPosition[0], splitPosition[1]);
}
return map;
}
e il metodo principale è simile:
try {
List<String> list = new ArrayList<String>();
List<String> customeRandomList = new LinkedList<String>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
Map<String, String> map = Test.readFile("D://RandomList.txt");
for (Map.Entry<String, String> entry : map.entrySet()) {
customeRandomList.add(list.get(Integer.parseInt(entry.getValue())));
}
for (String result : customeRandomList) {
System.out.println(result);
}
} catch (Exception e) {
e.printStackTrace();
}
Problemi correlati
- 1. Fissare primo elemento, mischiare il resto di un elenco/array
- 2. Come mischiare un mazzo di carte
- 3. Mischiare un mazzo di carte
- 4. Haskell: mischiare dati senza dipendenze funzionali
- 5. Come mischiare i file audio usando python?
- 6. Devo mischiare AngularJS con un framework PHP?
- 7. Come posso mischiare i bit in modo efficiente?
- 8. come riavviare manualmente unicorno
- 9. serializzatore JMS come gestire manualmente la serializzazione?
- 10. Come inferire manualmente il tipo di '(.). (.). (.) '?
- 11. Wordpress. Aggiunta voce di menu manualmente wp_nav_menu
- 12. ggplot2: come regolare manualmente scale_area
- 13. Come chiudere un jgrowl manualmente
- 14. Colonne shuffle di un array con Numpy
- 15. Come costruire manualmente un AST?
- 16. Come creare manualmente un tf.Summary()
- 17. Python: lista mischiare, ma mantenendo alcuni elementi congelati
- 18. Come richiamare manualmente un evento?
- 19. Come posso inserire l'identità manualmente?
- 20. Perché è possibile mischiare le classi in un campo tipo?
- 21. Come inizializzare manualmente una raccolta di RECORD in PL/SQL?
- 22. Ricostruire manualmente l'indice di pycharm
- 23. Come "shuffle" un array?
- 24. modo veloce di mod manualmente un numero
- 25. PHP [OOP] - Come chiamare manualmente il costruttore della classe?
- 26. Come convertire lista di array in un array multidimensionale
- 27. Come chiamare Collections.Shuffle solo su parte di un array Java
- 28. Mescolare un array di celle (Matlab)
- 29. Come disabilitare manualmente/lista nera repository Maven
- 30. Come posso inviare un'eccezione manualmente con Crittercism?
Questo potrebbe essere semplice, lo so, ma qui Senario è diverso, ho i dati nel file di testo, il file di testo contiene, original_position nonché current_position della matrice, sulla base di tale vorrei imposta i dati in array-II. io manuale shuffle. – user3285681
Il tuo shuffle manuale sarà sempre lo stesso. Pertanto, lo 0,1,2,3,4 dovrebbe essere sempre casuale per 0,2,4,3,1 – ashokramcse
Potrebbe esporre il file di esempio. – ashokramcse