「java字母数字中文排序」英文字母数字排序
本篇文章给大家谈谈java字母数字中文排序,以及英文字母数字排序对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java中如何对集合排序
- 2、Java中如何实现中文排序
- 3、java怎么实现中文数字排序
- 4、JAVA排序数字字母混合
- 5、Java怎么按照汉字字典顺序给字符串排序?
- 6、java 中文一,二,到十,怎么排序
Java中如何对集合排序
java中对集合排序,可以使用Collections.sort来进行排序,可以对中文、字母、数字进行排序,当比较的是对象时候,让该类实现comparable接口,示例如下:
Collections.sort(dataMap, new ComparatorMapString, Object() {
//排序接口实现方法
@Override
public int compare(MapString, Object lhs, MapString, Object rhs) {
switch (whichsort) {
case System_OpenPosition_Sort_Currency:
String d2 = ((String) rhs.get(Instrument));
String d1 = (String) lhs.get(Instrument);
if (d2 != null d1 != null) {
int flag = d1.compareTo(d2);
if (flag == 0) {
Double d3 = ((Double) rhs.get(OpenPrice));
Double d4 = (Double) lhs.get(OpenPrice);
if (d3 != null d4 != null) {
int flag2 = d4.compareTo(d3);
if (flag2 == 0) {
String d5 = ((String) rhs.get(BuySell));
String d6 = (String) lhs.get(BuySell);//文字排序
if (d5 != null d6 != null) {
return d6.compareTo(d5);//返回一个int类型,用来判断是否大于、小于还是等于
}
}
return d4.compareTo(d3);
}
} else {
return flag;
}
// return d1.compareTo(d2);
}
Java中如何实现中文排序
public class SortByChinese {
//测试
public static void main(String[] args) {
String[] a1 = {"保定","何子安","于小云","刘帝","刘何保定子安","刘","刘娜","家强","刘博"};
getSortOfChinese(a1);
for (int i = 0; i a1.length; i++) {
System.out.println(a1[i]);
}
}
/**
*
* @param a String[]
* @return String[]
*/
public static String[] getSortOfChinese(String[] a) {
// Collator 类是用来执行区分语言环境这里使用CHINA
Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);
// JDKz自带对数组进行排序。
Arrays.sort(a, cmp);
return a;
}
}public class SortByChinese {
//测试
public static void main(String[] args) {
String[] a1 = {"小二","张三","李四","王五","刘七"};
getSortOfChinese(a1);
for (int i = 0; i a1.length; i++) {
System.out.println(a1[i]);
}
}
/**
*
* @param a String[]
* @return String[]
*/
public static String[] getSortOfChinese(String[] a) {
// Collator 类是用来执行区分语言环境这里使用CHINA
Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);
// Arrays工具类对数组进行排序。
Arrays.sort(a, cmp);
return a;
}
}
试试对你的问题是否有用
java怎么实现中文数字排序
先将中文数字转换成数字,然后排序。输出的时候将数字和中文数字之间的对应关系还原就好了。
JAVA排序数字字母混合
import java.util.ArrayList;
import java.util.List;
public class Sort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] nums = { "100A", "98.5", "98.5A", "34", "52", "100", "98",
"98.5B" };
// 冒泡排序法排序
for (int i = 0; i nums.length - 1; i++) {
for (int j = 0; j nums.length - i - 1; j++) {
double num1;// 前一个数字去字母后的数值
boolean char1 = false; // 前一个数字是否含有字母
int ascii1 = 0;// 前一个数字所含字母的ASCII码
// 获取每个数字的最后一位,判断是否为大写字母(判断其ASCII码是否在65到90之间)
if ((int) (nums[j].toCharArray()[nums[j].length() - 1]) = 65
(int) (nums[j].toCharArray()[nums[j].length() - 1]) = 90) {
num1 = Double.parseDouble(nums[j].substring(0,
nums[j].length() - 1));
char1 = true;
ascii1 = (int) (nums[j].toCharArray()[nums[j].length() - 1]);
} else {
num1 = Double.parseDouble(nums[j]);
}
double num2;// 后一个数字去字母后的数值
boolean char2 = false; // 后一个数字是否含有字母
int ascii2 = 0;// 后一个数字所含字母的ASCII码
// 获取每个数字的最后一位,判断是否为大写字母(判断其ASCII码是否在65到90之间)
if ((int) (nums[j + 1].toCharArray()[nums[j + 1].length() - 1]) = 65
(int) (nums[j + 1].toCharArray()[nums[j + 1]
.length() - 1]) = 90) {
num2 = Double.parseDouble(nums[j + 1].substring(0,
nums[j + 1].length() - 1));
char2 = true;
ascii2 = (int) (nums[j + 1].toCharArray()[nums[j + 1]
.length() - 1]);
} else {
num2 = Double.parseDouble(nums[j + 1]);
}
// 从大到小排序
if (num1 num2) {
String temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
} else if (num1 == num2) {// 数值相等则判断是否有字母以及字母的顺序
// 如果两个都有字母,则判断顺序
if (char1 char2) {
// 按ASCII码从小到大排列(即从A到Z排列)
if (ascii1 ascii2) {
String temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
} else if (!char1 char2) {// 如果后面一个数字有字母
String temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
}
for (int i = 0; i nums.length; i++) {
System.out.println(nums[i]);
}
}
}
我为了赋值方便,用的是String数组,但是跟用list没有区别,方法还是一样的,只是获取长度的时候调的方法不同。数组用.length, list用的是.size()。
Java怎么按照汉字字典顺序给字符串排序?
//按照中文第一个字母升序排列的实现
import java.text.Collator;
import java.util.Arrays;
import java.util.Comparator;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ComparatorObject com=Collator.getInstance(java.util.Locale.CHINA);
String[] newArray={"上海","天津","广州","杭州","辽宁","南京","武汉","北京","厦门","内蒙"};
Arrays.sort(newArray,com);
for(String i:newArray){
System.out.print(i+" ");
}
}
}
java 中文一,二,到十,怎么排序
如果按照数据库自己排序,会按照中文的拼音进行排序(A-Z)有实验过。如果要实现楼主这样的功能。我建议,增加两个字段,分别是等级(level,最好是约定一个与A级B级对应的数字,如A级填1)、班级号(classno,班级 填,1,2,3代表1班2班3班),两个字段就可以确定一个班级。然后SQL语句为 select 查询的内容 from 表名 order by level,classno (先按level,后按classno排序)
关于java字母数字中文排序和英文字母数字排序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-27,除非注明,否则均为
原创文章,转载请注明出处。