要求:对  "abc","fcc","egfd","asd","rtgh","deghk","fcc"字段进行排序,要求满足其为升序排列同时每个字符串里也是升序排列

public class Test {

public static void main(String[] args) {

String[] str  = new String[]{"abc","fcc","egfd","asd","rtgh","deghk","fcc"};

//   一   ,冒泡排序   (思路:先获取字符串数组里的每个字符串,然后使用toCharArray()方法得到这个字符串的char[] 再对char数

//组里的元素进行对比,冒泡排序前面大的与后面交换顺序,再把得到的char数组重新转换为String,存入到一个新的String

//数组中,然后在整体对新数组中各个字符串使用冒泡排序从而得到结果)

printArr(stringRank(test(str)));

//    二     使用 Arrays.sort(s);方法进行排序

String[] s = sortChar(str);
Arrays.sort(s);
printArr(s);

}

}

//得到一个每个字符串里元素已经进行过排序的新字符串数组

private static String[] test(String[] str){
    String st[] =  st = new String[str.length];
    for (int i = 0; i < str.length; i++) {
char[] c =  str[i].toCharArray();
charRank(c);
String s = new String(c);
st[i]  = s;
}
    return st;

}

//对字符串里元素进行排序

private static void charRank(char[] c){
    for (int j = 0; j < c.length; j++) {
for (int j2 = 0; j2 < c.length-j-1; j2++) {
if(c[j2]>c[j2+1]){
char len = c[j2];
c[j2] = c[j2+1];
c[j2+1] = len;
}
}
}

}

//对新字符串数组里的字符串进行排序(升序)字符串比较使用compareTo()方法

//String本身并不具备比较大小功能,它的String对象实现了Comparable接口,这个接口是具有比较大小功能的接口,里面定义了比较方法compareTo()方法

//所以如果我们定义了一个类,这个类产生的对象需要比较大小就需要去实现Comparable接口,重写compareTo()方法,这种

//排序成为类的自然排序,compareTo()方法称为自然比较方法,因为String类已经实现了compareTo()方法,所以这里可以

//直接使用

//该方法的比较对象与指定对象的顺序

//compareTo(T  o)     返回值:int  返回0(两者相等),负数(对象小于参数),正数(对象大于参数)     参数o为要比较的对象

private static String[] stringRank(String[] str) {

for (int i = 0; i < str.length; i++) {
for (int j = 0; j < str.length - i - 1; j++) {
if (str[j].compareTo(str[j + 1]) > 0) {
String s = str[j];
str[j] = str[j + 1];
str[j + 1] = s;
}
}
}
return str;
}

private static String[] sortChar(String[] str) {
String[] s = new String[str.length];
for (int i = 0; i < str.length; i++) {
char[] c = str[i].toCharArray();
Arrays.sort(c);
s[i] = String.valueOf(c);
}
return s;
}

private static void printArr(String[] str){
for (int i = 0; i < str.length; i++) {
System.out.print(str[i]+"\t");
}
System.out.println();
}

java中的字符串排序相关推荐

  1. [转载] Java中的字符串处理

    参考链接: Java中的StringBuffer appendCodePoint()方法以及示例 JDK8在线Api中文手册 JDK8在线Api英文手册 Java中的字符串处理 1.1 String类 ...

  2. 怎么比较字符串java_如何在Java中比较字符串?

    在本文中,优锐课将带你学习如何比较字符串以及使用等于(=)运算符比较字符串时发生的问题. 介绍 字符串是Java中的特殊类.我们在Java程序中定期使用String,因此比较两个字符串是Java中的一 ...

  3. 检查Java中的字符串是空还是空[重复]

    本文翻译自:Checking if a string is empty or null in Java [duplicate] This question already has an answer ...

  4. Java中的字符串驻留

    转自:http://www.cdtarena.com/javapx/201307/9088.html 最近在工作的时候,一句再正常不过的代码String a = "hello" + ...

  5. java中集合的排序

    java中集合的排序 import java.util.Set; import java.util.HashSet; import java.util.List; import java.util.A ...

  6. java oracle 连接字符串函数_通过shell来比较oracle和java中的字符串使用

    这些准备工作齐了之后,我们来从Java中的字符串使用入手来比较一下oracle中对于字符串的处理. java中有如下的一些函数,我会依次来做比较. public char charAt(int ind ...

  7. 图说:为什么Java中的字符串被定义为不可变的

    转载自 图说:为什么Java中的字符串被定义为不可变的 字符串,想必大家最熟悉不过了,通常我们在代码中有几种方式可以创建字符串,比如:String s = "Hollis";这时, ...

  8. Java中连接字符串的最佳方法

    最近有人问我这个问题–在Java中使用+运算符连接字符串是否对性能不利? 这让我开始思考Java中连接字符串的不同方法,以及它们如何相互对抗. 这些是我要研究的方法: 使用+运算符 使用StringB ...

  9. java 匹配最后一次出现的字符_在Java中查找字符串中字符的最后一次出现

    使用该lastIndexOf()方法在Java中查找字符串中字符的最后一次出现. 假设以下是我们的字符串.String myStr = "Amit Diwan"; 在上面的字符串中 ...

最新文章

  1. 开头轰轰烈烈,结局冷冷清清
  2. Rancher-创建自己的应用商店教程
  3. RocketMQ的Producer详解之顺序消息(原理)
  4. jQuery data
  5. 数据多重共线性_多重共线性对您的数据科学项目的影响比您所知道的要多
  6. 多媒体制作技术心得体会_二维flash课件动画制作的价格是多少
  7. 简单html图片轮播_抖音图片轮播的视频怎么制作?小白1分钟就能学会,超简单...
  8. linux18.04系统下载,Lubuntu 18.04-desktop-amd64
  9. 中国管道内检测市场现状调研与投资预测分析报告2022-2028年
  10. C语言获取本机IP地址
  11. 模拟微博登陆,获取微博cookie
  12. JAVA设计模式——享元模式
  13. 流媒体中的常用网络传输协议
  14. linux读取文件内容 cat,Linux 读取文件:cat 命令(拼接文件)
  15. jsb is not in the sudoers file. This incident will be reported.
  16. Fiori WebIde开发环境搭建
  17. 恒源云(GPUSHARE)_未闻Prompt名(论文学习笔记)
  18. 中国LED植物照明行业盈利能力与进出口前景预测报告2021-2026年
  19. 曾颖明的博客关于作者
  20. java代理模式之静态代理

热门文章

  1. 利用C#实现百度接口图像识别
  2. 银行付款出现java,SSH框架网上商城项目第22战之银行图标以及支付页面显示
  3. 第113章 SQL函数 QUARTER
  4. 怎样设计访谈提纲_如何设计采访提纲
  5. 计算机辅助几何设计(CAGD)的简单介绍
  6. FFmpeg总结(三)AV系列结构体之AVCodecContext
  7. 精心挑选10款基于 jQuery 的图片360度旋转插件
  8. 计算机是怎样运行的:从根儿上理解计算机
  9. 怎么计算PMP证书续证日期?
  10. linux如何用vi查找字符串替换,在Vi里面实现字符串的批量替换