当前位置:首页 » 编程语言 » javastring排序

javastring排序

发布时间: 2022-06-11 13:53:41

A. java如何对String str="3,12,34,14,12"从小到大排序,不要逗号,重复的只保留一个

整体思想就是将字符串先分割成数组,然后转换成数字进行比较,可用Set进行去重。

//将字符串分割成数组
Stringstr="3,12,34,14,12";
String[]strArray=str.split(",");
//将字符串转换成整型方便进行比较
List<Integer>list=newLinkedList<Integer>();
for(Strings:strArray){
list.add(Integer.valueOf(s.trim()));
}
//将整型数组添加到Set中进行去重
Set<Integer>set=newHashSet<Integer>();
set.addAll(list);
//将整型数组进行排序
Integer[]intArray=newInteger[set.size()];
set.toArray(intArray);
Arrays.sort(intArray);
//将整型再转回字符串
Stringresult=String.valueOf(intArray[0]);
for(inti=1;i<intArray.length;i++){
result=result+""+intArray[i];
}

B. JAVA String类型的数组怎么逆序排序

String[] a = new String[]{"A","B","C","D","E"};
String[] b=new String[a.length];
int indexA=a.length-1,indexB=0;
for(String s:a){
b[indexB]=a[indexA];
indexA--;
indexB++;
}

C. java 编写对String类型的数组元素进行排序,求高手,求帮助,求代码,谢谢啊~~

用Arrays就行了 如
String[] ss={"eee","ddd","aaa","bbb","ccc"};
Arrays.sort(ss);//给数组ss排序 执行后ss就已经被排过序了。
System.out.println(Arrays.toString(ss));
结果:[aaa, bbb, ccc, ddd, eee]

D. 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();
}
}

E. JAVA中对String数组根据字符长度进行分组并且排序

好像也很复杂...
String[]str={"1","2","3","66","54","513","323","12","121"};
Map<Integer,List<String>>map=newHashMap<Integer,List<String>>();//按照长度区分数据
Set<Integer>indexSet=newHashSet<Integer>();//长度去重
for(Stringstring:str){
intlength=string.length();
List<String>list=map.get(length);
if(list==null){
list=newArrayList<String>();
}
list.add(string);
Collections.sort(list);//默认排序
indexSet.add(length);
map.put(length,list);
}
List<Integer>indexList=newArrayList<Integer>();
for(Integerinteger:indexSet){
indexList.add(integer);
}
Collections.sort(indexList);//长度默认排序
JSONArrayjsonArray=newJSONArray();
for(Integerinteger:indexList){
List<String>valueList=map.get(integer);
String[]strings=valueList.toArray(newString[valueList.size()]);
jsonArray.add(strings);
}
System.out.println(jsonArray.toString());

F. 如何用java对字符串进行排序

importjava.util.*;
publicclassCharSort
{
privatestaticScannersc=newScanner(System.in);
privatestaticStringBuffersb=newStringBuffer();
publicstaticvoidmain(String[]args)
{
System.out.println(" ==========字符串排序!========== ");
init();
}//初始化!
privatestaticvoidinit()
{
System.out.println("请输入:");
for(;;)
{
Stringa=input();
char[]arr=a.toCharArray();
Arrays.sort(arr);
sb.append(a);
print(arr,sb);
}
}
//扫描!
privatestaticStringinput()
{
Stringa=sc.nextLine();
returna;
}
//打印!
privatestaticvoidprint(char[]arr,StringBuffersb)
{
System.out.println(" 字符串排序演示:");
for(inti=0;i<arr.length;i++)
{
System.out.print(arr[i]);
}
System.out.println(" ===================== 倒序演示:");
System.out.print(sb.reverse());

}
}

G. java如何实现字符串比较大小排序

使用 String.compareTo 方法:

compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序)
1、如果字符串相等返回值0
2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串)
3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.

例:
String s1 = "abc";
String s2 = "abcd";
String s3 = "abcdfg";
String s4 = "1bcdfg";
String s5 = "cdfg";
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1)
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3)
System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48)
System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)

H. JAVA String str排序算法 是这样写吗

  1. compare string的大小需要用compareTo,例子

Stringstr1="hello";
Stringstr2="helloworld";
//returnValue可以返回负数,0,和正数
//如果返回负数,说明str1<str2
//如果返回为0,说明str1.equals(str2)
//如果返回正数,说明str1>str2
intreturnValue=str1.compareTo(str2);

2. 你需要把String str变换成数组,例如

//你的str
Stringstr="6222750107116807A900"+""
+"6222756100000419A1100"+""
+"621690105761620A1001"+""
+"6222750107116807A1900"+
"6222756100000419A2000"+
"6212690105761620A100"+
"6222750107116807A800"+
"6222756100000419A1300"+""
+"6212690105761620A1400";
//需要换成数组str1
String[]str1=newString[]{"6222750107116807A900","6222756100000419A1100","621690105761620A1001","6222750107116807A1900",
"6222756100000419A2000","6212690105761620A100","6222750107116807A800","6222756100000419A1300","6212690105761620A1400"};

你试着尝试输出一下str.length(),返回的是185,是整个str的长度,如果你输出str1.length,返回的值是9,表示有多少String

3. 你的冒泡排序算法并没有错,所以修改完我说的1,2条后程序应该会正确运行。2060823590WZY说的也没有错,冒泡排序确实有点慢,但是对于初学者来说搞懂逻辑与基础是最重要的,等掌握好基础后再学习排序。

I. java String数组按照某个中文数组排序

public class Wgy {
public static void main(String[] args) {
String[] str = new String[] { "甲 供=0", "采购站=0", "调 入=0", "材料厂=0",
"甲 控=200", "自 购=0" };
String[] s = new String[] { "材料厂", "采购站", "自 购", "甲 供", "甲 控", "调 入" };
StringBuffer result = new StringBuffer();
for (int i = 0; i < s.length; i++) {
for (int j = 0; j < str.length; j++) {
if ((s[i].substring(0,2)).equals(str[j].substring(0, 2))) {
result.append(str[j]);
result.append(",");
}
}
}
String res=result.substring(0,result.length()-1);
String[] ret=res.toString().split(",");
System.out.println(Arrays.toString(ret));
}
}

J. java字符串通过什么来排序,字符串是怎么比较大小的

答案:java中所有类的排序是根据该类中的toString方法来排序的,你可以通过查看String类的底层代码找到其toString()方法来看他是如何排序的。这是原理
对于单独这个问题:字符串排序时根据字符串第一个字符的按照自然顺序排序
自然顺序:例如如果第一个是数字,则按照从小到大排序,如果第一个字符相同则再比较第二个字符
以此类推,对于字母则根据26个英文字母的顺序决定。

=======================如果是你想问的请给最佳回答,有不懂得可以追问==========谢谢。

热点内容
cbs加密 发布:2024-05-19 06:29:56 浏览:200
ssis存储过程 发布:2024-05-19 06:21:31 浏览:630
怎样删除小视频文件夹 发布:2024-05-19 05:49:29 浏览:589
开启php短标签 发布:2024-05-19 05:44:12 浏览:473
android各国语言 发布:2024-05-19 05:42:54 浏览:247
微信什么资料都没怎么找回密码 发布:2024-05-19 05:35:34 浏览:907
填志愿密码是什么 发布:2024-05-19 05:30:23 浏览:318
城堡争霸自动掠夺脚本 发布:2024-05-19 05:22:06 浏览:204
asp编程工具 发布:2024-05-19 05:20:36 浏览:143
insertpython 发布:2024-05-19 05:12:26 浏览:244