‘壹’ 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对象