Hallo Ich habe seit Tagen an einer Lösung gearbeitet, und ich habe versucht, es selbst herauszufinden, aber ich kann es einfach nicht.Elemente in einer Liste vergleichen und austauschen. Java
Ich habe eine Arraylist und ich möchte die Elemente darin tauschen. Aber ich möchte die Liste in zwei Hälften vergleichen. Also wenn die Liste 8 Elemente enthält, würde ich das erste Element in der ersten Hälfte der Liste mit dem ersten Element in der zweiten Hälfte der Liste vergleichen wollen. So Liste [0] mit der Liste [4] und wenn 4 größer als 0 ist, möchte ich sie tauschen, dann will ich 0 erhöhen und um 1 und die Hälfte der Liste nach dem anderen, bis i = 4. Ich habe um es über die Befehlszeile auszuführen.
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.Collections;
public class TennisTournament {
public static void main (String [] args) {
Scanner input = new Scanner(System.in);
ArrayList <Integer> nums = new ArrayList<Integer>();
while (input.hasNextInt()) {
nums.add(input.nextInt());
}
tournament(nums); }
public static void tournament(ArrayList <Integer> list) {
int midPoint = list.size()/2; // returns the index number of half of the lists size
for (int i = 0; i < midPoint; i++) { // while is bigger than mid point, increment by one
if (list.get(i) < list.get(midPoint)) {
Collections.swap(list, i, midPoint);
System.out.print(list);
}
}
System.out.println(list); }
}
Das ist, was ich bisher habe, aber wenn ich es von der Kommandozeile ausführen, es gibt nur eine gewöhnliche Liste, und ich bin völlig ratlos. Ich würde lieber eine Schleife als die Collection-Methode verwenden, da es sich nicht um einen Programmierstil handelt, mit dem ich besonders vertraut bin.
gibt es LINq in Java? –