-1

重複の可能性:
2 つの配列リストを並べ替える最善の方法は?

package bubblesort;

import java.util.*;

public class BubbleSort {

public static void main(String[] args)
{
    Scanner input = new Scanner(System.in);
    Scanner input2 = new Scanner(System.in);
    List<String> lastnamesList = new ArrayList();
    List<String> firstnamesList = new ArrayList();
    List<Integer> ageList = new ArrayList();       
    List<String> fullnamesList = new ArrayList();
    int decider;
    String EOF = "EOF";


    System.out.println("Enter in 0 to sort by Last Name, Enter in 1 to sort by Age");
    decider = input.nextInt();

    /*if(decider == 0)
    {
    System.out.println("Sorting by Last Name");
        for(int i=0;i<3;i++)
        {
        System.out.println("Please Enter in your Last Name, FirstName, Age: " );
        fullnamesList.add(input2.nextLine());
        }
    Collections.sort(fullnamesList);
    System.out.println("Sorting by Last Name: ");
    System.out.println(fullnamesList);
    }*/ 
    //String[] lastnamesArray = lastnamesList.toArray(new String[lastnamesList.size()]);
    //String[] firstnamesArray = firstnamesList.toArray(new String[firstnamesList.size()]);
    if(decider == 1)
    {
    System.out.println("Sorting by Age");
        for(int i=0;i<3;i++)
        {
        System.out.println("Please Enter in your Last Name: " );
        lastnamesList.add(input2.nextLine());
        System.out.println("Please Enter in your First Name: " );
        firstnamesList.add(input2.nextLine());
        System.out.println("Please Enter in your Age: " );
        ageList.add(input.nextInt());

        }

    String[] firstnamesArray = firstnamesList.toArray(new String[firstnamesList.size()]);
    String[] lastnamesArray = lastnamesList.toArray(new String[lastnamesList.size()]);
    fullnamesList.addAll(firstnamesList);
    fullnamesList.addAll(lastnamesList);
    String[] fullnamesArray = fullnamesList.toArray(new String[firstnamesList.size()+lastnamesList.size()]);

    Collections.sort(fullnamesList);
    System.out.println("Sorting by Age");
    System.out.println(fullnamesList);
    }
}
public static void sortStringBubble(String x[])
{
    int j;
    boolean flag = true;
    String temp;

    while(flag)
    {
        flag = false;
        for(j = 0;j < x.length -1 ; j++)
        {
            if (x [j].compareToIgnoreCase(x[j+1])>0)
            {
                temp = x[j];
                x[j] = x[j+1];
                x[j+1] = temp;
                flag = true;
            }
        }
    }
}

}

名、姓、年齢をまとめようとしていますが、別々に並べ替えるのではなく、アルファベット順に並べ替えたいと思います。

4

1 に答える 1

2

それ以外の

List<String> lastnamesList = new ArrayList();
List<String> firstnamesList = new ArrayList();
List<Integer> ageList = new ArrayList();   

使用する

List<Person> personList = new ArrayList<>();

Personあなたが自分で書いたクラスはどこにありますか。並べ替えるリストは 1 つだけです。

PersonにはフィールドlastNamefirstNameおよびageがあるため、それらは常に一緒になります。

また、これこの投稿、またはこれらのいくつかを参照してください。

于 2012-12-09T18:54:42.183 に答える