導航:首頁 > 編程語言 > java字元串數組排序

java字元串數組排序

發布時間:2022-12-09 06:28:05

java comparator介面 字元串數組排序



importjava.util.Arrays;
importjava.util.Comparator;

publicclassYuGiOh
{
publicstaticvoidmain(String[]args)
{
String[]strs={"qwe","asfa","qfwagaa","rfbu","a","hlelllp"};
Arrays.sort(strs,newComparator<String>()
{
@Override
publicintcompare(Stringo1,Stringo2)
{
if(o1.length()>o2.length())
{
return1;
}
elseif(o1.length()<o2.length())
{
return-1;
}
else
{
return0;
}
}
});
System.out.println(Arrays.toString(strs));
}
}

② java字元串數組以關鍵字排序

用對象數組的排序方法來做,下例已驗證:

importjava.util.*;

classTimplementsComparable<T>{
privateStrings;
publicT(Stringstr){
this.s=str;
}
publicintcompareTo(To){
if(Integer.parseInt(this.s.substring(s.length()-1,s.length()))>Integer.parseInt(o.s.substring(o.s.length()-1,o.s.length()))){
return1;
}elseif(Integer.parseInt(this.s.substring(s.length()-1,s.length()))<Integer.parseInt(o.s.substring(o.s.length()-1,o.s.length()))){
return-1;
}else{
return0;
}
}
publicStringtoString(){
returns;
}
}
publicclassTest{
publicstaticvoidmain(String[]args){
String[]arr={"1113","2349","1124"};
List<T>list=newArrayList<T>();
for(inti=0;i<arr.length;i++){
list.add(newT(arr[i]));
}
T[]t=list.toArray(newT[]{});
Arrays.sort(t);
print(t);

}
publicstaticvoidprint(T[]t){
for(Tt1:t){
System.out.println(t1);
}
}
}

③ java 用冒泡排序法排序字元串數組

@org.junit.Test
publicvoidb(){
String[]strs={"avcd","bdce","avcdf","cced","bdce"};
for(inti=0;i<strs.length;i++){
//第一個字元的ascii碼大,放前面
for(intj=i+1;j<strs.length;j++){
intnum=0;
compare(strs,i,j,num);
}

}

for(Stringstring:strs){
System.err.println(string);
}
}

/**
*@paramstrs
*@parami
*@paramnum
*/
privatevoidcompare(String[]strs,inti,intj,intnum){
//判斷2個字元串誰的長度最小,則以當前長度作為num+1的最大標准
if(strs[i].length()>=strs[j].length()){
if(num+1<=strs[j].length()){
if(strs[j].charAt(num)>strs[i].charAt(num)){
Stringtemp=strs[i];
strs[i]=strs[j];
strs[j]=temp;
//若相等,則判斷第二個
}elseif(strs[j].charAt(num)==strs[i].charAt(num)){
num++;
compare(strs,i,j,num);
}
}
}else{
if(num+1<=strs[i].length()){
if(strs[j].charAt(num)>strs[i].charAt(num)){
Stringtemp=strs[i];
strs[i]=strs[j];
strs[j]=temp;
//若相等,則判斷第二個
}elseif(strs[j].charAt(num)==strs[i].charAt(num)){
num++;
compare(strs,i,j,num);
}
}else{
//表示當前字元串內容都一致,strs[j]的長度大。則放前面。
Stringtemp=strs[i];
strs[i]=strs[j];
strs[j]=temp;
}
}
}

④ java語言建立一個班級學生姓名的字元串數組並進行排序

importjava.text.Collator;
importjava.util.Arrays;
importjava.util.Comparator;

publicclassNameSortDemo{
publicstaticvoidmain(String[]args){
String[]names={"孫小美","阿土伯","小明","錢夫人","小紅","小菜"};
System.out.println("排序前:");
for(Stringname:names){
System.out.print(name+"");
}
System.out.println();

Comparatorcmp=Collator.getInstance(java.util.Locale.CHINA);//排序規則
Arrays.sort(names,cmp);//排序

System.out.println("排序後:");
for(Stringname:names){
System.out.print(name+"");
}
}
}

輸出

排序前:
孫小美阿土伯小明錢夫人小紅小菜
按拼音排序後:
阿土伯錢夫人孫小美小菜小紅小明

⑤ java字元串數組以關鍵字排序

額,不想開eclipse,代碼就不寫了,給個提示吧,這種東西,如果老是要參考別人的代碼來理解,那麼編程是永遠提高不了的,廢話不多說
1.
輸入輸出流對文件中的字元串進行讀取,可以用字元流(filereader),也可以用位元組流(fileinputstream,位元組流讀取到的是位元組,所以需要轉化成字元串)
2.
比較的方法:有幾種吧
a)string對象的contains方法(字元串中是否包含有輸入的字元串,有則認為可能是關鍵字);b)string對象的indexof方法(有則認為可能是關鍵字);c)由於存放在文件中的字元串每個關鍵字肯定是由某個符號分開的,可以先進行split分割,之後遍歷分割得到的字元串數組
幾種比較的方法,前兩種還需要進一步判斷在文件中相應字元串的前後字元是什麼,如果是分隔符,那麼就說明輸入的是關鍵字了
好了,還有別的問題再提出來吧,代碼我是懶得寫的~

⑥ Java中怎麼對數組中的字元串進行排序

import Java.util.Arrays;
public class xulie {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

String []str = {"abc","bca","cab","cba","aaa","111","232","112","ABC"};
Arrays.sort(str);
for(int i=0;i<str.length;i++){
System.out.println(str[i]);
}
}
}
希望可以幫到你

⑦ Java中怎麼對數組中的字元串進行排序

publicclassTe{

publicstaticvoidmain(String[]args){
String[]Target={"梅花A","小王","方塊9","方塊K","黑桃2","紅心3"};
sort(Target);
for(inti=0;i<Target.length;i++){
System.out.print(Target[i]+",");
}
}

privatestaticvoidsort(String[]target){
finalString[]sortR={"3","4","5","6","7","8","9","10","J","Q","K","A","2","小王","大王"};
intsize=target.length;
int[]temps=newint[size];
for(inti=0;i<target.length;i++){
for(intj=0;j<sortR.length;j++){
if(target[i].contains(sortR[j])){
temps[i]=j;
}
}
}
for(inti=0;i<size-1;i++){
for(intj=0;j<size-1;j++){
if(temps[j]>temps[j+1]){
StringsesTemp=target[j];
inttemp=temps[j];
temps[j]=temps[j+1];
temps[j+1]=temp;
target[j]=target[j+1];
target[j+1]=sesTemp;
}
}
}
}
}

⑧ java中應該怎樣對字元串數組進行排序

可以使用冒泡排序,選擇排序等多種方式就行排序,兩個for循環嵌套就可以或者使用sort()方法進行快速排序

⑨ 編寫一個java程序對一個字元串數組進行排序

importjava.util.Arrays;

publicclassStringDateSort{
publicstaticvoidmain(String[]args){
StringnumString="2310-8037108";
StringsortStr=sortNumberString(numString);
System.out.println("排序的結果是"+sortStr);
}

(StringnumString){

//1.將給定的字元串分解成多個數字格式字元串
String[]numStrings=toStringArray(numString);

//2.將字元串數組轉成int數組
int[]nums=toIntArray(numStrings);

//3.對數組排序
sort(nums);

//4.將int數組轉成字元串
returntoString(nums);
}

privatestaticStringtoString(int[]nums){
StringBufferstringBuffer=newStringBuffer();
for(inti=0;i<nums.length;i++){
if(i!=nums.length-1){
stringBuffer.append(nums[i]+"<");
}else{
stringBuffer.append(nums[i]);
}
}
returnstringBuffer.toString();
}

privatestaticvoidsort(int[]nums){
Arrays.sort(nums);
}

privatestaticint[]toIntArray(String[]numStrings){
int[]nums=newint[numStrings.length];
for(inti=0;i<numStrings.length;i++){
Strings=numStrings[i];
nums[i]=Integer.parseInt(s);
}
returnnums;
}

privatestaticString[]toStringArray(StringnumString){
String[]numberStr=numString.split("");
for(inti=0;i<numberStr.length;i++){
System.out.println("抽出數字"+numberStr[i]);
}
returnnumberStr;
}
}

⑩ java中怎麼對一串字元進行排序!

importjava.util.Arrays;

publicclassStringSort{

publicstaticvoidmain(String[]args){
Stringstring="togoodtoonostringandnow";
StringsortString=sortChar(string);
System.out.println(sortString);
}

privatestaticStringsortChar(Stringstr){
//1.將字元串轉化成數組
char[]chs=stringToArray(str);
//2.對數組進行排序
sort(chs);
//3.將數組轉成字元串
returntoString(chs);
}

privatestaticStringtoString(char[]chs){
returnnewString(chs);
}

//對字元數組進行升序排序
privatestaticvoidsort(char[]chs){
Arrays.sort(chs);
}

//將字元串轉化成為數組
privatestaticchar[]stringToArray(Stringstring){
returnstring.toCharArray();
}
}

閱讀全文

與java字元串數組排序相關的資料

熱點內容
希爾伯特pdf 瀏覽:645
php數組全數字 瀏覽:645
解密塔羅牌小程序源碼 瀏覽:862
聚合跑分源碼 瀏覽:553
注冊dns伺服器寫什麼 瀏覽:879
linux安裝deb包 瀏覽:521
電腦盤文件夾如何平鋪 瀏覽:267
相機卡滿了沒文件夾 瀏覽:751
如何批量快速壓縮視頻 瀏覽:432
我的世界如何加入ice伺服器 瀏覽:873
兄弟cnc編程說明書 瀏覽:204
php閃電入門教程學習 瀏覽:152
金岳霖邏輯pdf 瀏覽:938
linuxtomcat線程 瀏覽:77
pboc長度加數據加密 瀏覽:187
英雄聯盟國際服手游怎麼下安卓 瀏覽:297
程序員的思路 瀏覽:234
只能用命令獲得的四種方塊 瀏覽:358
怎麼用命令方塊防止開創造 瀏覽:807
掃描版的pdf 瀏覽:790