java中名字按字母顺序排列_Java 快速排序

java中名字按字母顺序排列_Java 快速排序在 Java 中 对姓名进行排序可以通过以下几种方法实现 按姓名字母排序 javaimport java util ArrayList import java util Collections import java util Comparator import java util List public class NameSorting public static void

在Java中,对姓名进行排序可以通过以下几种方法实现:

按姓名字母排序

 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class NameSorting { public static void main(String[] args) { List 
  
    
  
    names = new ArrayList<>(); 
   names.add("张三"); names.add("李四"); names.add("王五"); names.add("赵六"); Collections.sort(names, new Comparator 
  
    
  
    () { 
   @Override public int compare(String s1, String s2) { return s1.compareTo(s2); } }); System.out.println(names); } } 

按姓名首字母排序

 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class NameSorting { public static void main(String[] args) { List 
  
    
  
    names = new ArrayList<>(); 
   names.add("张三"); names.add("李四"); names.add("王五"); names.add("赵六"); Collections.sort(names, new Comparator 
  
    
  
    () { 
   @Override public int compare(String s1, String s2) { return s1.substring(0, 1).compareTo(s2.substring(0, 1)); } }); System.out.println(names); } } 

按姓名笔画排序(需要自定义算法):

 import java.util.ArrayList; public class NameSorting { public static void main(String[] args) { ArrayList 
  
    
  
    people = new ArrayList<>(); 
   people.add(new Person("张三", 28)); people.add(new Person("李四", 29)); people.add(new Person("王五", 12)); people.add(new Person("赵六", 22)); // 自定义排序算法,这里只是一个示例,实际应用中需要实现具体的笔画计算 Collections.sort(people, new Comparator 
  
    
  
    () { 
   @Override public int compare(Person p1, Person p2) { // 假设这里实现了计算姓名的笔画数并进行比较 return Integer.compare(getStrokeCount(p1.name), getStrokeCount(p2.name)); } }); for (Person person : people) { System.out.println(person); } } // 假设的方法,实际应用中需要实现具体的笔画计算 private static int getStrokeCount(String name) { // 实现计算姓名的笔画数的逻辑 return 0; } } class Person { String name; int age; public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return "Person{name='" + name + "', age=" + age + "}"; } } 

按姓名和年龄排序(如果有重名的情况):

编程小号
上一篇 2025-06-01 23:56
下一篇 2025-06-01 15:28

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/36830.html