『壹』 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中怎麼對數組中的字元串進行排序
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中怎麼對數組中的字元串進行排序
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數組排序問題
public static void chineseOrder(){
String str = "田,趙,李,寒,歐陽";
String[] strs = str.split(",");
Arrays.sort(strs);
List<String> list = new ArrayList<String>();
for(int i=strs.length-1;i>-1;i--){
list.add(strs[i]);
}
System.out.println(list.toString());
}
『伍』 java字元串數組以關鍵字排序
額,不想開eclipse,代碼就不寫了,給個提示吧,這種東西,如果老是要參考別人的代碼來理解,那麼編程是永遠提高不了的,廢話不多說
1.
輸入輸出流對文件中的字元串進行讀取,可以用字元流(filereader),也可以用位元組流(fileinputstream,位元組流讀取到的是位元組,所以需要轉化成字元串)
2.
比較的方法:有幾種吧
a)string對象的contains方法(字元串中是否包含有輸入的字元串,有則認為可能是關鍵字);b)string對象的indexof方法(有則認為可能是關鍵字);c)由於存放在文件中的字元串每個關鍵字肯定是由某個符號分開的,可以先進行split分割,之後遍歷分割得到的字元串數組
幾種比較的方法,前兩種還需要進一步判斷在文件中相應字元串的前後字元是什麼,如果是分隔符,那麼就說明輸入的是關鍵字了
好了,還有別的問題再提出來吧,代碼我是懶得寫的~
『陸』 編寫一個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字元串數組排序問題
public void sort(){
String sh[] = {"安陽","貴州","桂林","西安","西安","a","g","x","安陽"};
List<String> asList = Arrays.asList(sh);
List<String> list = new ArrayList<String>();
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
Map<String, String> map = new HashMap<String, String>();
for(String shss:asList){
String ch = "";
for(int j = 0;j<shss.length();j++){
String string = shss;
try {
string = PinyinHelper.toHanyuPinyinStringArray(shss.charAt(j), format)[0];
if(string == null){
throw new NullPointerException();
}
ch+=string;
} catch (Exception e) {
ch = shss;
break;
}
}
list.add(ch);
map.put(ch, shss);
}
Collections.sort(list, new Comparator<String>() {
public int compare(String o1, String o2) {
return o1.compareTo(o2);
};
});
for(String ch:list){
System.out.print(map.get(ch)+" ");
}
System.out.println();
}
看下是不是你要的效果,記得加上pinyin4j-2.5.0.jar的jar包
『捌』 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 字元串排序
//這個絕對滿足您的要求
import java.util.Arrays;
public class StringSort {
public static void main(String[] args) {
String ss[]={"ab","wang","hi","a","abff"};
MyString mySs[]=new MyString[ss.length];//創建自定義排序的數組
for (int i = 0; i < ss.length; i++) {
mySs[i]=new MyString(ss[i]);
}
Arrays.sort(mySs);//排序
for (int i = 0; i < mySs.length; i++) {
System.out.println(mySs[i].s);
}
}
}
class MyString implements Comparable<MyString>{
public String s;//包裝String
public MyString(String s) {
this.s = s;
}
@Override
public int compareTo(MyString o) {
if(o==null||o.s==null) return 1;
if(s.length()>o.s.length()) return 1;
else if(s.length()<o.s.length()) return -1;
return s.compareTo(o.s);
}
}
『拾』 java字元串數組怎麼排序
一般情況下用
java.util.Arrays.sort(字元串數組);按字典排序, 比如 "2" 就大於 "123"
如果你對字元串有自己的排序方法, 比如按長度等
那麼你就要實現自己的Comparetor<String>, 這方面資料你自己找找
一樣用上面的方法, 只不過參數要加一個Comparetor對象