中文排序java
❶ java中如何實現中文排序
publicclassSortByChinese{
//測試
publicstaticvoidmain(String[]args){
String[]a1={"保定","何子安","於小雲","劉帝","劉何保定子安","劉","劉娜","家強","劉博"};
getSortOfChinese(a1);
for(inti=0;i<a1.length;i++){
System.out.println(a1[i]);
}
}
/**
*
*@paramaString[]
*@returnString[]
*/
publicstaticString[]getSortOfChinese(String[]a){
//Collator類是用來執行區分語言環境這里使用CHINA
Comparatorcmp=Collator.getInstance(java.util.Locale.CHINA);
//JDKz自帶對數組進行排序。
Arrays.sort(a,cmp);
returna;
}
}publicclassSortByChinese{
//測試
publicstaticvoidmain(String[]args){
String[]a1={"小二","張三","李四","王五","劉七"};
getSortOfChinese(a1);
for(inti=0;i<a1.length;i++){
System.out.println(a1[i]);
}
}
/**
*
*@paramaString[]
*@returnString[]
*/
publicstaticString[]getSortOfChinese(String[]a){
//Collator類是用來執行區分語言環境這里使用CHINA
Comparatorcmp=Collator.getInstance(java.util.Locale.CHINA);
//Arrays工具類對數組進行排序。
Arrays.sort(a,cmp);
returna;
}
}
試試對你的問題是否有用
❷ java String數組按照某個中文數組排序
public class Wgy {
public static void main(String[] args) {
String[] str = new String[] { "甲 供=0", "采購站=0", "調 入=0", "材料廠=0",
"甲 控=200", "自 購=0" };
String[] s = new String[] { "材料廠", "采購站", "自 購", "甲 供", "甲 控", "調 入" };
StringBuffer result = new StringBuffer();
for (int i = 0; i < s.length; i++) {
for (int j = 0; j < str.length; j++) {
if ((s[i].substring(0,2)).equals(str[j].substring(0, 2))) {
result.append(str[j]);
result.append(",");
}
}
}
String res=result.substring(0,result.length()-1);
String[] ret=res.toString().split(",");
System.out.println(Arrays.toString(ret));
}
}
❸ JAVA通過數組按首字母排序怎麼做
自己封裝的一個工具類,可以將漢字按照拼音的首字母排序,支持對Model和字典排序.只能對首字母排序,不支持第二個字母, 實現的原理就是創建一個A-Z的數組,數組中的元素是字典,字典中有兩個元素,一個是title,就是當前的首字母 A-Z中的一個,另一個是保存當前title對應的元素的數組,對傳入的數組進行遍歷獲得數組中的一個元素,如果是Model或者字典通過傳入的key的值獲得要排序的字元串,獲得字磨高符串的拼音的首字母,判斷拼音的首字瞎胡尺母是A-Z中的哪一個,然後放到數組中的對應的字典的數組中.
後來又做了一個對英文的首字母排序的程序,原理和上面的一樣,還省略了將漢字轉化為拼音的步驟。工具類的名稱是:NH_OrderByPinYinFirstLetter。
代碼:使用的時候直接調用下面的方法就行,是一個加號方法,第一個參數是保存要排序的元素的數組,第二個參數:如果數組中是Model或者字典,就寫排序的依據的key值,如做戚果數組中不是Model或字典,就寫nil。
[objc]view plain
//方法
+(NSMutableArray*)baseOrderPinYinOnArr:(NSMutableArray*)arrByKey:(NSString*)key 返回值的類
//返回一個有24個元素的數組,數組里的元素是字典
//字典里有兩對鍵值對
// title :當前的拼音首字母A - Z
// datas :當前的拼音首字母對應的model所組成的數組
❹ Java怎麼按照漢字字典順序給字元串排序
//按照中文第一個字母派燃弊升序排列的實現x0dx0aimport java.text.Collator; x0dx0aimport java.util.Arrays; x0dx0aimport java.util.Comparator; x0dx0apublic class test { x0dx0a /** x0dx0a * @param args x0dx0a */ x0dx0a public static void main(String[] args) { x0dx0a // TODO Auto-generated method stub x0dx0a Comparator
❺ java怎麼實現排序
Java實現幾種常見排序方法
日常操作中常見的排序方法有:冒泡排序、快速排序、選擇排序、插入排序、希爾排序,甚至還有基數排序、雞尾酒排序、桶排序、鴿巢排序、歸並排序等。
以下常見演算法的定義
1. 插入排序:插入排序基本操作就是將一個數據插入到已經排好序的有序數據中,從而得到一個新的、個數加一的有序數據,演算法適用於少量數據的排序,時間復雜度為O(n^2)。是穩定的排序方法。插入排序的基本思想是:每步將一個待排序的紀錄,按其關鍵碼值的大小插入前面已經排序的文件中適當位置上,直到全部插入完為止。
2. 選擇排序:選擇排序(Selection sort)是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的數據元素中選出最小(或最大)的一個元素,存放在序列的起始位置,直到全部待排序的數據元素排完。 選擇排序是不穩定的排序方法。
3. 冒泡排序:冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序演算法。它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越大的元素會經由交換慢慢「浮」到數列的頂端。
4. 快速排序:快速排序(Quicksort)是對冒泡排序的一種改進。它的基本思想是:通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然後再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。
5. 歸並排序:歸並排序是建立在歸並操作上的一種有效的排序演算法,該演算法是採用分治法(Divide and Conquer)的一個非常典型的應用。將已有序的子序列合並,得到完全有序的序列;即先使每個子序列有序,再使子序列段間有序。若將兩個有序表合並成一個有序表,稱為二路歸並。
6. 希爾排序:希爾排序(Shell Sort)是插入排序的一種。也稱縮小增量排序,是直接插入排序演算法的一種更高效的改進版本。希爾排序是非穩定排序演算法。希爾排序是把記錄按下標的一定增量分組,對每組使用直接插入排序演算法排序;隨著增量逐漸減少,每組包含的關鍵詞越來越多,當增量減至1時,整個文件恰被分成一組,演算法便終止。
https://www.cnblogs.com/wangmingshun/p/5635292.html