我有以下代码,它采用名称并将它们存储在ArrayList中。
class Main{
public static void main(String[] args) {
ArrayList<String> names = new ArrayList<String>();
Scanner scan = new Scanner(System.in);
String name;
do{
System.out.println("Enter the next name: ");
name = scan.nextLine();
String toUpperCase = titleCase(name);
if(!toUpperCase.equals("Stop")){
names.add(toUpperCase);
}
} while(!name.equalsIgnoreCase("STOP"));
System.out.println(names);
}
public static String titleCase(String s){
String output = s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase();
return output;
}
}
我需要按名称的字母顺序对ArrayList进行排序,而不使用Collections。
答案 0 :(得分:0)
在Java 8中,你可以做到
list.sort(String::compareTo);
我认为这是家庭作业,你必须自己实施一个排序算法。您使用哪种排序取决于设置任务所需的人员。
BTW你可以使用bogo sort
while(!isSorted(list)) {
Collection.shuffle(list);
}
答案 1 :(得分:0)
ActionListener
类实现public void actionPerformed(ActionEvent e)
{
JButton button = (JButton)e.getSource();
color = button.getBackground();
repaint();
}
。因此,您可以使用其String
方法检查是否有任何两个字符串。冒泡排序是最低效但可能是最简单的排序算法之一。
所以在伪代码中,这看起来像是:
Comparable<String>