欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java字符串排序的幾種實現方式

 更新時間:2023年07月21日 10:17:56   作者:是小浩呀~  
這篇文章主要給大家介紹了關于Java字符串排序的幾種實現方式, 使用Java平臺進行字符串排序被認為是一件簡單的工作,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

創(chuàng)建實體類(此處引入了lombok)

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Test{
    private int Id;
    private String TestNo;
}

一、使用List集合中自帶的sort方法(字符串的位數保持一致,不一致的情況可以在左邊補0,也可以使用String.format()方法補全)

1、在對象排序中使用

public static void main(String[] args) {
        List<Test> testList= new ArrayList<>();
        testList.add(1,"22");
        testList.add(2,"11");
        testList.add(3,"44");
        testList.add(4,"33");
        list.sort((a,b)->a.getTestNo().compareTo(b.getTestNo()));
}

2、在字符串排序中使用

public static void main(String[] args) {
        List<String> testList= new ArrayList<>();
        testList.add("22");
        testList.add("11");
        testList.add("44");
        testList.add("33");
        list.sort(String::compareTo);
}

二、使用Stream流(字符串的位數保持一致,不一致的情況可以在左邊補0,也可以使用String.format()方法補全)

1、在對象排序中使用

public static void main(String[] args) {
        List<Test> testList= new ArrayList<>();
        testList.add(1,"22");
        testList.add(2,"11");
        testList.add(3,"44");
        testList.add(4,"33");
        List<Test> sortList = testList.stream().sorted(Comparator.comparing(Test::getTestNo).collect(Collectors.toList());
}

2、在字符串排序中使用

public static void main(String[] args) {
        List<String> testList= new ArrayList<>();
        testList.add("22");
        testList.add("11");
        testList.add("44");
        testList.add("33");
        List<String> collect = testList.stream().sorted(Comparator.comparing(Objects::toString)).collect(Collectors.toList());
}

三、使用基數排序(此處僅展示對字符串進行排序,不需要補全位數)

class Quick3string{
	//三向字符串快速排序
	private static int charAt(String s, int d) {
		if(d < s.length()) {
			return s.charAt(d);
		}
		return -1;
	}
	public static void sort(String[] a) {
		sort(a, 0, a.length - 1, 0);
	}
	private static void sort(String[] a, int lo, int hi, int d) {
		if(hi <= lo) {
			return;
		}
		int lt = lo, gt = hi, i = lo + 1;
		int v = charAt(a[lo], d);
		while(i <= gt) {
			int t = charAt(a[i], d);
			if(t < v) {
				exch(a, lt++, i++);
			}else if(t > v) {
				exch(a, i, gt--);
			}else {
				i++;
			}
		}
		//a[lo..lt-1] < v = a[lt..gt] < a[gt+1..hi]
		sort(a, lo, lt - 1, d);
		if(v >= 0) {
			sort(a, lt, gt, d + 1);
		}
		sort(a, gt + 1, hi, d);
	}
	private static void exch(String[] a, int i, int j) {
		String t = new String(a[i]);
		a[i] = a[j];
		a[j] = t;
	}
	public static void main(String[] args) {
		String[] a = {"48328458C70490693231303331361020", "48326E48E1136A9E3139313131301020", "48326E48E1176F8A3139313131311020", "48326E48E12474713139313131311020"};
		Quick3string.sort(a);
		System.out.println(Arrays.toString(a));
	}
}

總結

到此這篇關于Java字符串排序的幾種實現方式的文章就介紹到這了,更多相關Java字符串排序內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 對Java中JSON解析器的一些見解

    對Java中JSON解析器的一些見解

    這篇文章主要是對Java中JSON解析器的一些見解。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • Spring Cloud zuul自定義統一異常處理實現方法

    Spring Cloud zuul自定義統一異常處理實現方法

    這篇文章主要介紹了Spring Cloud zuul自定義統一異常處理實現,需要的朋友可以參考下
    2018-02-02
  • Java GUI編程實現在線聊天室

    Java GUI編程實現在線聊天室

    這篇文章主要為大家詳細介紹了Java GUI編程實現在線聊天室,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Java實現順序棧原理解析

    Java實現順序棧原理解析

    這篇文章主要介紹了Java實現順序棧原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • java進階之了解SpringBoot的配置原理

    java進階之了解SpringBoot的配置原理

    今天帶大家了解SpringBoot的相關知識,文中對SpringBoot的配置原理作了非常詳細的圖文示例及介紹,需要的朋友可以參考下
    2021-06-06
  • SpringBoot 如何使用RestTemplate發(fā)送Post請求

    SpringBoot 如何使用RestTemplate發(fā)送Post請求

    這篇文章主要介紹了SpringBoot 如何使用RestTemplate發(fā)送Post請求的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Redis 訂閱發(fā)布_Jedis實現方法

    Redis 訂閱發(fā)布_Jedis實現方法

    下面小編就為大家?guī)硪黄猂edis 訂閱發(fā)布_Jedis實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Dubbo新版本zk注冊中心連接問題及解決

    Dubbo新版本zk注冊中心連接問題及解決

    這篇文章主要介紹了Dubbo新版本zk注冊中心連接問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Java中方法作為參數傳遞的方式

    Java中方法作為參數傳遞的方式

    這篇文章主要介紹了Java如何讓方法作為參數傳遞,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • Mybatis查詢語句返回對象和泛型集合的操作

    Mybatis查詢語句返回對象和泛型集合的操作

    這篇文章主要介紹了Mybatis查詢語句返回對象和泛型集合的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評論