可能重复:
对 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;
}
}
}
}
}
我试图将名字、姓氏和年龄放在一起,但我希望它按字母顺序排序,而不是单独排序。