字符串排序简单的工具类,数组转list,list转数组
public static void main(String[] args) {
/* String[] str = {"a", "c", "b", "x", "y", "z", "j", "h", "n", "m", "q"};*/
/* printArr(str);
ArraySort(str, 1); //练习排序方法
// Arrays.sort(str); 排序用法
printArr(str);*/
/* List <String> srtList = Arrays.asList("a", "c", "b", "x", "y", "z", "j", "h", "n", "m", "q");
;
//printList(arrToList(str));
*//*ListToArr(srtList);*//*
printArr(ListToArr(srtList));*/
String str = "asdfghjklmnbvcxzqwertyuiop";
System.out.println(str);
str = StringSort(str, 1);
System.out.println(str);
}
/**
*
* @param str 排序字符串
* @param sortType 排序规则,0--从小到大,1--从大到小
* @return
*/
public static String StringSort(String str, int sortType) {
char[] ch = str.toCharArray();
for (int i = 0; i < ch.length; i++) {
for (int j = i + 1; j < ch.length; j++) {
String stri = String.valueOf(ch[i]);
String strj = String.valueOf(ch[j]);
if (sortType == 0) {
if (stri.compareTo(strj) > 0) {
chaSwap(ch, i, j);
}
} else {
if (stri.compareTo(strj) < 0) {
chaSwap(ch, i, j);
}
}
}
}
str = "";
for (int i = 0; i < ch.length; i++) {
str += String.valueOf(ch[i]);
}
return str;
}
public static void chaSwap(char[] ch, int x, int y) {
char temp = ch[x];
ch[x] = ch[y];
ch[y] = temp;
}
/**
* @param arr 排序数组
* @param SortType 排序规则,0---从小到大,1从大到小
* @return
*/
public static String[] ArraySort(String[] arr, int SortType) {
if (arr == null)
return null;
if (null != arr && arr.length > 0) {
int len = arr.length;
for (int i = 0; i < len; i++) {
for (int j = i + 1; j < len; j++) {
if (SortType == 0) {//从小到大排序
if (arr[i].compareTo(arr[j]) > 0) {
swap(arr, i, j);
}
} else {
if (arr[i].compareTo(arr[j]) < 0) {
swap(arr, i, j);
}
}
}
}
}
return arr;
}
/**
* 交换两个元素的位置的方法
*
* @param arr 需要交换元素的数组
* @param x 索引i
* @param y 索引j
*/
public static void swap(String[] arr, int x, int y) {
String temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
/**
* 打印字符串数组
*
* @param str
*/
private static void printArr(String[] str) {
for (int i = 0; i < str.length; i++) {
System.out.print(str[i] + "\t");
}
System.out.println();
}
public static List <Object> arrToList(Object arr[]) {
return Arrays.asList(arr);
}
private static void printList(List <Object> list) {
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i) + "\t");
}
System.out.println();
}
public static String[] ListToArr(List <String> list) {
return (String[]) list.toArray();
}
字符串排序简单的工具类,数组转list,list转数组的更多相关文章
- Java中将字符串与unicode的相互转换工具类
unicode编码规则 unicode码对每一个字符用4位16进制数表示.具体规则是:将一个字符(char)的高8位与低8位分别取出,转化为16进制数,如果转化的16进制数的长度不足2位,则在其后补0 ...
- Java实现单词自定义排序|集合类、工具类排序、comparable、comparator接口
课题 针对单词进行排序,先按字母的长度排序,长者在前: 在长度相等的情况下,按字典降序排序. 例如,有单词序列"apple banana grape orange",排序后输出结果 ...
- java数据结构1--数组、排序和Arrays工具类
数组:Array 数组的定义 数组的内存结构 数组定义常见问题 数组常见操作 Java参数传递问题--值传递 二维数组 1.数组概念 同一种类型数据的集合,可以是基本数据类型,也可以是引用数据类型. ...
- Android初级教程:对文件和字符串进行MD5加密工具类
转载请注明出处:http://blog.csdn.net/qq_32059827/article/details/52200008 点击打开链接 之前写过一篇博文,是针对字符串进行md5加密的.今 ...
- JDBC第一篇--【介绍JDBC、使用JDBC连接数据库、简单的工具类】
1.什么是JDBC JDBC全称为:Java Data Base Connectivity,它是可以执行SQL语句的Java API 2.为什么我们要用JDBC 市面上有非常多的数据库,本来我们是需要 ...
- JDBC【介绍JDBC、使用JDBC连接数据库、简单的工具类】
1.什么是JDBC JDBC全称为:Java Data Base Connectivity,它是可以执行SQL语句的Java API 2.为什么我们要用JDBC 市面上有非常多的数据库,本来我们是需要 ...
- SSM-MyBatis-10:Mybatis中SqlSession的getMapper()和简单的工具类MyBatisUtils
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- getMapper的作用,获取到接口,直接通过点的方式调用方法,以免直接手打的方式写错方法名,(强类型的方式) ...
- 基于ansj_seg和nlp-lang的简单nlp工具类
1.首先在pom中引入ansj_seg和nlp-lang的依赖包, ansj_seg包的作用: 这是一个基于n-Gram+CRF+HMM的中文分词的java实现: 分词速度达到每秒钟大约200万字左右 ...
- 《java入门第一季》之对文件和字符串进行MD5加密工具类
上一篇介绍了MD5加密算法,之前写的代码有些冗余,而且可读性很差.今天把对文本数据的加密,以及获取文件的md5值做一个封装类.代码如下: package com.itydl.utils; import ...
随机推荐
- [CQOI2014]数三角形
[CQOI2014]数三角形 给定\(n\times m\)的网格,求三个点在其格点上的三角形个数,1<=m,n<=1000. 解 法一:直接 显然为组合计数问题,关键在于划分问题,注意到 ...
- Error during generated code invocation: com.intellij.debugger.engine.evaluation.EvaluateException: Method threw 'java.lang.IllegalAccessError' exception.
场景描述: 再从该数据库中读取数据进行处理的时候,需要将某个字段加入到一个动态的map中,然后需要对该map进行filter过滤,在执行过滤方法的时候报错 Error during generated ...
- python-Excel读取-合并单元格读取
python-Excel读取-合并单元格读取(后续会补充python-Excel写入的部分) 1. python读取Excel单元格 代码包含读取Excel中数据,以及出现横向合并单元格,以及竖向合并 ...
- 多功能版vue日历控件
下载地址:https://pan.baidu.com/s/1nvpx0tB5cIvvqHuApz_MpQ 之前写了一个简单的vue日历控件:https://www.cnblogs.com/mrzhu/ ...
- dedecmsV5.7和discuz!X3.4整合之后免激活登陆
问题:dedecmsv5.7和discuz!X3.4整合之后,从dede过去的用户,第一次登陆discuz!X3.4,需要激活.后来我就上百度了一番,找到了一个方法 我找到的方法: 1.在dedecm ...
- php获取id
private static function getClientIp() { if (getenv('HTTP_X_FORWARDED_FOR')) { $tmp = explode(',', ge ...
- JS 超类和子类
此篇由别的大神的博客与<javascript高级程序设计>一书整理而来 原博客地址:https://hyj1254.iteye.com/blog/628555 看到javascript高级 ...
- Spring官方文档下载
Spring框架是目前最流行的java web开发框架,很多时候,我们需要去查看spring的官方文档,这里就简单介绍下如何下载其官方文档. 1.搜索到spring 官网并进入 2.点击DOCS 3. ...
- 图书馆管理系统(C语言)
/* 实现的功能 * @ 1. 录入图书的信息 * @ 2. 给定图书的编号,显示该图书的详细信息 * @ 3. 给定作者的姓名,可以显示该作者所有的书 * @ 4. 给定出版社,可以显示该出版社出版 ...
- AES
ES算法之理论与编程结合篇 1 前言 AES是现在使用最多的对称密钥分组密码算法,在逆向的过程中经常碰到,这几天处于离职期,有点时间,于是乎想细细的来研究一下它的原理,也算是离职的一个纪念吧. 网上的 ...