java中的字符串排序
要求:对 "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中的字符串排序相关推荐
- [转载] Java中的字符串处理
参考链接: Java中的StringBuffer appendCodePoint()方法以及示例 JDK8在线Api中文手册 JDK8在线Api英文手册 Java中的字符串处理 1.1 String类 ...
- 怎么比较字符串java_如何在Java中比较字符串?
在本文中,优锐课将带你学习如何比较字符串以及使用等于(=)运算符比较字符串时发生的问题. 介绍 字符串是Java中的特殊类.我们在Java程序中定期使用String,因此比较两个字符串是Java中的一 ...
- 检查Java中的字符串是空还是空[重复]
本文翻译自:Checking if a string is empty or null in Java [duplicate] This question already has an answer ...
- Java中的字符串驻留
转自:http://www.cdtarena.com/javapx/201307/9088.html 最近在工作的时候,一句再正常不过的代码String a = "hello" + ...
- java中集合的排序
java中集合的排序 import java.util.Set; import java.util.HashSet; import java.util.List; import java.util.A ...
- java oracle 连接字符串函数_通过shell来比较oracle和java中的字符串使用
这些准备工作齐了之后,我们来从Java中的字符串使用入手来比较一下oracle中对于字符串的处理. java中有如下的一些函数,我会依次来做比较. public char charAt(int ind ...
- 图说:为什么Java中的字符串被定义为不可变的
转载自 图说:为什么Java中的字符串被定义为不可变的 字符串,想必大家最熟悉不过了,通常我们在代码中有几种方式可以创建字符串,比如:String s = "Hollis";这时, ...
- Java中连接字符串的最佳方法
最近有人问我这个问题–在Java中使用+运算符连接字符串是否对性能不利? 这让我开始思考Java中连接字符串的不同方法,以及它们如何相互对抗. 这些是我要研究的方法: 使用+运算符 使用StringB ...
- java 匹配最后一次出现的字符_在Java中查找字符串中字符的最后一次出现
使用该lastIndexOf()方法在Java中查找字符串中字符的最后一次出现. 假设以下是我们的字符串.String myStr = "Amit Diwan"; 在上面的字符串中 ...
最新文章
- 开头轰轰烈烈,结局冷冷清清
- Rancher-创建自己的应用商店教程
- RocketMQ的Producer详解之顺序消息(原理)
- jQuery data
- 数据多重共线性_多重共线性对您的数据科学项目的影响比您所知道的要多
- 多媒体制作技术心得体会_二维flash课件动画制作的价格是多少
- 简单html图片轮播_抖音图片轮播的视频怎么制作?小白1分钟就能学会,超简单...
- linux18.04系统下载,Lubuntu 18.04-desktop-amd64
- 中国管道内检测市场现状调研与投资预测分析报告2022-2028年
- C语言获取本机IP地址
- 模拟微博登陆,获取微博cookie
- JAVA设计模式——享元模式
- 流媒体中的常用网络传输协议
- linux读取文件内容 cat,Linux 读取文件:cat 命令(拼接文件)
- jsb is not in the sudoers file. This incident will be reported.
- Fiori WebIde开发环境搭建
- 恒源云(GPUSHARE)_未闻Prompt名(论文学习笔记)
- 中国LED植物照明行业盈利能力与进出口前景预测报告2021-2026年
- 曾颖明的博客关于作者
- java代理模式之静态代理