急!!java string 类型的字符串 数组排序!!
对这样的字符串数组a[0]="0",a[1]="10",a[2]="11",排序,依据字符串的长度由大到小,排序结果为a[0]="10",a[1]="11",a[2]="...
对这样的字符串数组a[0] = "0",a[1] = "10",a[2] = "11",排序,
依据字符串的长度由大到小,
排序结果为a[0] = "10",a[1] = "11",a[2] = "10",或者a[0] = "11",a[1] = "10",a[2] = "10",
,哪位大侠指点指点,,小弟谢了先
注意:字符串数组的大小可变!! 展开
依据字符串的长度由大到小,
排序结果为a[0] = "10",a[1] = "11",a[2] = "10",或者a[0] = "11",a[1] = "10",a[2] = "10",
,哪位大侠指点指点,,小弟谢了先
注意:字符串数组的大小可变!! 展开
3个回答
2009-05-19
展开全部
//jdk1.4 以下由小到大 如果长度一直 按照字符串排序
public static void main(String[] args)
{
String[] arrays = { "aa", "ab", "ccc", "dddddd" };
Arrays.sort(arrays, new ComparatorArrayList()
{
public int compare(Object o1, Object o2)
{
String a = (String) o1;
String b = (String) o2;
int c = a.length();
int d = b.length();
if (c > d)
{
return 1;
}
else if (c < d)
{
return -1;
}
else
{
return a.compareTo(b);
}
}
});
for (int i = 0; i < arrays.length; i++)
{
System.out.println(arrays[i]);
}
}
public static void main(String[] args)
{
String[] arrays = { "aa", "ab", "ccc", "dddddd" };
Arrays.sort(arrays, new ComparatorArrayList()
{
public int compare(Object o1, Object o2)
{
String a = (String) o1;
String b = (String) o2;
int c = a.length();
int d = b.length();
if (c > d)
{
return 1;
}
else if (c < d)
{
return -1;
}
else
{
return a.compareTo(b);
}
}
});
for (int i = 0; i < arrays.length; i++)
{
System.out.println(arrays[i]);
}
}
展开全部
public class StringArrayTest {
/**
* @param args
*/
public static void main(String[] args) {
String []arrStr = {"not","your","am","I","enemy"};
sortStringArray(arrStr);
for(int i=0;i<arrStr.length;i++){
System.out.println(arrStr[i]);
}
}
/**
* 排序方法
*/
public static void sortStringArray(String [] arrStr){
String temp;
for(int i=0;i<arrStr.length;i++){
for(int j=arrStr.length-1;j>i;j--){
if(arrStr[i].length()> arrStr[j].length()){
temp = arrStr[i];
arrStr[i] = arrStr[j];
arrStr[j] = temp;
}
}
}
}
}
输出结果:
I
am
not
your
enemy
/**
* @param args
*/
public static void main(String[] args) {
String []arrStr = {"not","your","am","I","enemy"};
sortStringArray(arrStr);
for(int i=0;i<arrStr.length;i++){
System.out.println(arrStr[i]);
}
}
/**
* 排序方法
*/
public static void sortStringArray(String [] arrStr){
String temp;
for(int i=0;i<arrStr.length;i++){
for(int j=arrStr.length-1;j>i;j--){
if(arrStr[i].length()> arrStr[j].length()){
temp = arrStr[i];
arrStr[i] = arrStr[j];
arrStr[j] = temp;
}
}
}
}
}
输出结果:
I
am
not
your
enemy
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.util.*;
class ArrayIt implements Comparator<String>
{
public int compare(String str1,String str2)
{
return str1.length()-str2.length();
}
}
public class AboutArray {
public static void main(String args[])
{
String[] strs=args;
ArrayIt ai=new ArrayIt();
Arrays.sort(strs,ai);
for(String s:strs)
{
System.out.println(s);
}
}
}
你说长度可变?
是什么意思啊~
我把它当成控制台的输入好吗?用args数组
大概就这样吧
如果是可变大小的话可以用容器~~或者...这种表示方法(这个不怎么会哦~~呵呵~~)
class ArrayIt implements Comparator<String>
{
public int compare(String str1,String str2)
{
return str1.length()-str2.length();
}
}
public class AboutArray {
public static void main(String args[])
{
String[] strs=args;
ArrayIt ai=new ArrayIt();
Arrays.sort(strs,ai);
for(String s:strs)
{
System.out.println(s);
}
}
}
你说长度可变?
是什么意思啊~
我把它当成控制台的输入好吗?用args数组
大概就这样吧
如果是可变大小的话可以用容器~~或者...这种表示方法(这个不怎么会哦~~呵呵~~)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询