java 实现字典序排序

题目描述
给定n个字符串,请对n个字符串按照字典序排列。
输入描述:
输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。
输出描述:
数据输出n行,输出结果为按照字典序排列的字符串。
示例1
输入
9
cap
to
cat
card
two
too
up
boat
boot
输出
boat
boot
cap
card
cat
to
too
two
up

package findAge;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.Scanner;

public class Main{
    public static void main(String[]args){
        Scanner in = new Scanner(System.in);
        int number = in.nextInt();
        String[] arr =new String[number];
        for(int i=0;i<number;i++) {
             arr[i] = in.next();
        }
        /*需要Vector 对象 List之类的可以吗?
         * Vector<String> ve=new Vector<String>();
            ve.add元素进去
            Collections是对List排序的
            Collections.sort(list)
            排序之后此时ve已经是有序的新对象了
            创建ve的迭代器对象
            Iterator it = ve.iterator();
            迭代获取
            while(it.hasNext()){}
         * */
      //Arrays.sort 可以对一些基本数据类型数组排序
        Arrays.sort(arr);
        for(int i=0;i<arr.length;i++) {
            System.out.println(arr[i]);
        }

    }
}
### Java 中对 `String` 类型进行字典序排序的方法 在 Java 中,可以通过使用 `Collator` 类来进行区分语言环境的字符串比较和排序。对于简单的字典序排序,可以直接利用 `TreeSet` 或者 `Arrays.sort()` 方法。 #### 使用 `Collator` 进行国际化排序 当需要考虑不同地区的字符集差异时,推荐使用 `Collator` 来完成这项工作。下面展示了一个基于中文环境下的例子: ```java import java.text.Collator; import java.util.Arrays; import java.util.Locale; public class DictionaryOrderSort { public static void main(String[] args) { String[] words = {"你好", "世界", "Java", "编程"}; // 创建一个中国地区专用的collator对象 Collator collatorInstance = Collator.getInstance(Locale.CHINA); Arrays.sort(words, collatorInstance::compare); System.out.println(Arrays.toString(words)); } } ``` 这段代码会按照汉语拼音顺序排列给定的字符串数组[^1]。 #### 利用内置函数快速排序 如果只是简单地想要按字母表顺序(即ASCII码值大小)来排序,则无需引入复杂的工具类,直接调用标准库中的方法即可满足需求: ```java import java.util.Arrays; public class SimpleDictionaryOrderSort { public static void main(String[] args) { String[] strings = {"banana", "apple", "orange"}; Arrays.sort(strings); System.out.println(Arrays.toString(strings)); } } ``` 此段程序将会输出 `[apple, banana, orange]`,实现了基本的升序排列功能[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值