java怎么将字母数字组合排序 JAVA排序数字字母混合

java\u6570\u5b57\u5b57\u6bcd\u6df7\u5408\u5b57\u7b26\u4e32\u6392\u5e8f

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Sorter {
public static void main(String[] args) {
List strs = new ArrayList();
strs.add("aa2");
strs.add("aa100");
strs.add("aa1");
strs.add("aa10");
strs.add("aa78");
System.out.println(strs);
// \u7528\u4e86\u4e00\u4e2aComparetor
Comparator com = new Comparator() {
public int compare(String o1, String o2) {
// \u524d\u97623\u4e2aIF\u4e3b\u8981\u662f\u5224\u7a7a\u7684
if (o1 == o2) {
return 0;
}
if (o1 == null) {
return 1;
}
if (o2 == null) {
return -1;
}
// \u8fd9\u91cc\u6ca1\u6709\u505a\u592a\u591a\u7684\u5224\u65ad, index \u4ee3\u8868\u7b2c\u51e0\u4e2a\u5f00\u59cb\u662f\u6570\u5b57, \u76f4\u63a5\u4ece\u540e\u9762\u904d\u5386
// \u6bd4\u5982 aa11, \u6211\u4eec\u5c31\u4f1a\u5224\u65ad\u4ece\u4e0b\u6807[2]\u5f00\u59cb\u4e3a\u4e0d\u662f\u6570\u5b57, \u5c31\u76f4\u63a5\u622a\u53d6 [2] \u540e\u9762, \u537311
int index = 0;
for (index = o1.length() - 1; index >= 0
&& (o1.charAt(index) >= '0' && o1.charAt(index) <= '9'); index--)
;
int num1 = Integer.parseInt(o1.substring(index + 1));

for (index = o2.length() - 1; index >= 0
&& (o2.charAt(index) >= '0' && o2.charAt(index) <= '9'); index--)
;
int num2 = Integer.parseInt(o2.substring(index + 1));
return num1 - num2;
}
};
Collections.sort(strs, com);
System.out.println(strs);
}
}

import java.util.ArrayList;import java.util.List;public class Sort {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubString[] nums = { "100A", "98.5", "98.5A", "34", "52", "100", "98","98.5B" };// \u5192\u6ce1\u6392\u5e8f\u6cd5\u6392\u5e8ffor (int i = 0; i = 65&& (int) (nums[j].toCharArray()[nums[j].length() - 1]) = 65&& (int) (nums[j + 1].toCharArray()[nums[j + 1].length() - 1]) ascii2) {String temp = nums[j];nums[j] = nums[j + 1];nums[j + 1] = temp;}} else if (!char1 && char2) {// \u5982\u679c\u540e\u9762\u4e00\u4e2a\u6570\u5b57\u6709\u5b57\u6bcdString 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]);}}}
\u6211\u4e3a\u4e86\u8d4b\u503c\u65b9\u4fbf\uff0c\u7528\u7684\u662fString\u6570\u7ec4\uff0c\u4f46\u662f\u8ddf\u7528list\u6ca1\u6709\u533a\u522b\uff0c\u65b9\u6cd5\u8fd8\u662f\u4e00\u6837\u7684\uff0c\u53ea\u662f\u83b7\u53d6\u957f\u5ea6\u7684\u65f6\u5019\u8c03\u7684\u65b9\u6cd5\u4e0d\u540c\u3002\u6570\u7ec4\u7528.length, list\u7528\u7684\u662f.size()\u3002

import java.util.ArrayList;
import java.util.List;

public class AllSort {
/**
* 从数组中选出所有组合
* @param source
* @param arrayList
* @param num
*/
public static void select(char[] source, List<String> arrayList, int num) {
int lg = source.length;
char[] temp = new char[num];
System.arraycopy(source, 0, temp, 0, num);
// 首次填充数组
arrayList.add(new String(temp));
// 逐个(位置)替换方式实现不重复全选
for (int i = num; i < lg; i++) {
for (int j = 0; j < num; j++) {
char tempChar = temp[j];
temp[j] = source[i];
arrayList.add(new String(temp));
temp[j] = tempChar;
}
}
}

/**
* 全排序
* @param source
* @param start
* @param end
*/
public static void perm(char[] source, int start, int end) {
if (start == end) {// 递归出口,最简单的情况,只取出1个
for (int i = 0; i <= end; i++) {
System.out.print(source[i]);
}
System.out.println();
} else {// 多个全排列
for (int i = start; i <= end; i++) {
char temp = source[start];// 逐位交换
source[start] = source[i];
source[i] = temp;

perm(source, start + 1, end);// 递归全排列
// 还原,为下个替换做准备
temp = source[start];
source[start] = source[i];
source[i] = temp;
}
}
}

public static void main(String[] args) {

//char[] source = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'Aa-Zz...'};
char[] source = { '0', '1', '2', '3', '4','5','6','7','8','9' };
ArrayList<String> list = new ArrayList<String>();
for (int i = 1; i <= source.length; i++) {
list.clear();
//选出
select(source, list, i);
System.out.println("===========取出"+i+"个==============");
//排列
for (String str : list) {
char[] temp = str.toCharArray();
perm(temp, 0, temp.length - 1);
}
}
}
}
之前在远标java时接触过!

  • java鎬庝箞灏嗗瓧姣嶆暟瀛楃粍鍚堟帓搴
    绛旓細import java.util.ArrayList;import java.util.List;public class AllSort { / 浠庢暟缁勪腑閫夊嚭鎵鏈缁勫悎 param source param arrayList param num / public static void select(char[] source, List<String> arrayList, int num) { int lg = source.length;char[] temp = new char[num];System.arra...
  • 鐢java瀹炵幇瀛楁瘝涓鏁板瓧娣峰悎鐨勫敮涓搴忓彿,涓旇閫掑
    绛旓細import java.util.LinkedList;public class ReplaceNumber{public static void main ( String[] args ){LinkedList<String> result = new LinkedList<String> ();char r = '0', g = '0', b = '0';String rgb = "" + r + g + b;while (!"ZZZ".equals (rgb)){if (b < ':' ||...
  • JAVA鎺掑簭鏁板瓧瀛楁瘝娣峰悎
    绛旓細import java.util.ArrayList;import java.util.List;public class Sort {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubString[] nums = { "100A", "98.5", "98.5A", "34", "52", "100", "98","98.5B" };// 鍐掓场鎺掑簭娉...
  • JAVA鏁板瓧鍜瀛楁瘝娣峰悎鎺掑簭
    绛旓細浣犱富瑕佺湅order by 鍚庤竟鐨勪笢瑗垮氨鍙互浜,涓嶉渶瑕java鏉ュ鐞唖ql鐩存帴鍙互澶勭悊鐨
  • java涓庝箞瀵硅嫳鏂瀛楁瘝杩涜鎺掑簭?
    绛旓細鍦java涓瀵硅嫳鏂瀛楁瘝杩涜姣旇緝鐨勬椂鍊欙紝鍦╦ava铏氭嫙鏈轰腑锛屼粬棣栧厛浼氳浆鎹㈡垚ASII鏉ヨ繘琛屾瘮杈冿紝鎵浠ュ彲浠ョ洿鎺ュ啓锛屽鏋滄槸澶у啓鍜屽皬鍐欑殑姣旇緝鐨勮瘽锛屽ぇ鍐欒鍔犱笂涓瀹氱殑鏁板瓧锛屾墠鑳借繘琛屾瘮杈冿紝濡傛灉瀚岄夯鐑︼紝浣犱篃鍙互灏嗗ぇ鍐欒浆鍖栨垚灏忓啓杩涜姣旇緝锛岄噰鐢ㄥ啋娉℃硶鎺掑簭鍚
  • 浣跨敤JAVA缂栫▼:鎺ユ敹浜斾綅瀛﹀憳鐨勭紪鍙(瀛楁瘝鍜鏁板瓧缁勬垚鐨勫瓧绗︿覆),瀹炵幇鎺掑簭...
    绛旓細m=2;n0=100000;[s,t]=meshgrid(303:2:403,200:20:5000);n=exp(-Ea./(k.*303)).*n0./exp(-Ea./(k.*s));f=m./n.*((t./n).^(m-1)).*exp(-(t./n).^m);surf(t,s,f);view([1,0.2,1]);figure;[C,h]=contour(t,f,s,10,'LineWidth',2);clabel(C,'...
  • java瀹炵幇瀛楁瘝 鏁板瓧 娣峰悎鎺掑簭 瀹炵幇缁撴灉: java1 java2 java3 00java 1234...
    绛旓細String绫诲疄鐜颁簡Comparable鎺ュ彛锛屽叾compareTo鏂规硶涓畾涔夌殑鏄寜璇ュ瓧绗︿覆鐨勨滃瓧鍏搁『搴忊濇瘮杈冨ぇ灏忥紝鍦ㄨ繖涓瓧鍏镐腑锛岄噰鐢ㄩ氱敤鐨勯『搴忥紝鐩存帴姣斿悇涓崟涓殑瀛楃鐨勫ぇ灏忥紝鍗鏁板瓧姣瀛楁瘝灏忋傝孋ollections.sort()鏂规硶姝f槸鍩轰簬Comparable鎺ュ彛鐨刢ompareTo鏂规硶姣旇緝澶у皬鐨勩傛墍浠ヤ綘浼氬緱鍒拌繖涓粨鏋溿傚鏋滆閲嶅畾涔夐『搴忥紝鍦ㄤ竴鑸儏鍐典笅锛...
  • java鏁板瓧瀛楁瘝娣峰悎瀛楃涓鎺掑簭
    绛旓細import java.util.Comparator;import java.util.List;public class Sorter { public static void main(String[] args) { List<String> strs = new ArrayList<String>();strs.add("aa2");strs.add("aa100");strs.add("aa1");strs.add("aa10");strs.add("aa78");System.out.println(...
  • Java 缁欎竴缁瀛楁瘝缁勫悎銆傛寜鍏朵釜鏁版帓搴銆傛柊鎵嬫眰甯繖
    绛旓細import java.util.Arrays;import java.util.Comparator;public class Test{public static void main(String[] args){String[] arrays = { "almn", "fba", "cba", "aa", "ab", "bb", "sadfafda", "kadfafda", "cc" };Arrays.sort(arrays, new Comparator<String>(){public int compare...
  • JAVA閫氳繃鏁扮粍鎸夐瀛楁瘝鎺掑簭鎬庝箞鍋?
    绛旓細鑷繁灏佽鐨勪竴涓伐鍏风被,鍙互灏嗘眽瀛楁寜鐓ф嫾闊崇殑棣瀛楁瘝鎺掑簭,鏀寔瀵筂odel鍜屽瓧鍏告帓搴.鍙兘瀵归瀛楁瘝鎺掑簭,涓嶆敮鎸佺浜屼釜瀛楁瘝锛 瀹炵幇鐨勫師鐞嗗氨鏄垱寤轰竴涓狝-Z鐨勬暟缁,鏁扮粍涓殑鍏冪礌鏄瓧鍏,瀛楀吀涓湁涓や釜鍏冪礌,涓涓槸title,灏辨槸褰撳墠鐨勯瀛楁瘝 A-Z涓殑涓涓,鍙︿竴涓槸淇濆瓨褰撳墠title瀵瑰簲鐨勫厓绱犵殑鏁扮粍,瀵逛紶鍏ョ殑鏁扮粍杩涜...
  • 扩展阅读:java输出26字母组合 ... 5一32字母数字怎么写 ... java字母转换为数字 ... java将字母转换成数字 ... 8一16字母和数字组合 ... 车号最差3个字母 ... java怎么给字母排序 ... java统计字母数字次数 ... java年月日转换成纯数字 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网