「java省份排序」省份大小排序
今天给各位分享java省份排序的知识,其中也会对省份大小排序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java 中有城市类 存在arraylist 怎么让它按名字首字母排序
- 2、Java排序一共有几种?
- 3、JAVA排序问题
- 4、JAVA中有哪几种常用的排序方法
- 5、如何用Java输入一个省份,然后列出这个省份所有城市的名字?
java 中有城市类 存在arraylist 怎么让它按名字首字母排序
参考代码如下
import java.util.ArrayList;
import java.util.Comparator;
public class ListDemo {
public static void main(String[] args) {
ArrayListString city = new ArrayListString();
city.add("Jonesboro");
city.add("Chaohu");
city.add("LittleRock");
city.add("bridgeport");
city.add("Rome");
city.add("chicago");
System.out.println("排序前"+city);
//排序.
city.sort(new ComparatorString() {
//重点是这个函数
public int compare(String o1, String o2) {
//忽略掉大小写后,进行字符串的比较
String s1 = o1.toLowerCase();
String s2 = o2.toLowerCase();
return s1.compareTo(s2);//从a-z的排
//return s2.compareTo(s1);//从z-a的排
}
});
System.out.println("排序后"+city);
}
}
运行效果
排序前[Jonesboro, Chaohu, LittleRock, bridgeport, Rome, chicago]
排序后[bridgeport, Chaohu, chicago, Jonesboro, LittleRock, Rome]
Java排序一共有几种?
日常操作中,常见的排序方法有:冒泡排序、快速排序、选择排序、插入排序、希尔排序,甚至还有基数排序、鸡尾酒排序、桶排序、鸽巢排序、归并排序等。
各类排序方法代码如图:
JAVA排序问题
说思路,不提供代码!
排序两种方式:
排序方式1:
1.角色类实现Comparable接口,重写compareTo方法
a.角色优先比较
字符串比较返回int类型:int=角色2对比角色4(注:实际你这个在比较后面的数字,提出来更好比较)
判断,如果返回的int值不等0直接返回这个int值,否者证明角色名字相同,继续向下比较
b.对比2010-01-01与2010-09-22这样的字符串,其实判断这个方法挺多,你这个01大于09
遍历字符串用字符对比即可,遍历过程判断大小,如果遍历完毕,还不能有结果
证明这2个字符串相同,如果不同,直接返回你想要的即可,如果相同继续向下比较!
c. 如果b过程是一样,就开始比较最后面的年月日,遍历过程,同b一样,
注意:b和c对比的可以使用字符串对比,也可以正则提取里面的数字,使用数字对比!
也可以使用日期类格式化直接比较毫秒数,方法挺多!
以上为你的角色类自带比较行为,可以使用集合工具直接对其排序,如果你使用的TreeSet或者
TreeMap,在存入的过程,会自动排序的!
排序方式2:
如果你的类没有实现Comparable接口,可以在你的集合初始化的时候,传入一个比较器即可
既:写一个匿名类,Comparator重写compare方法,让集合自身具备比较行为
泛型传入你这个角色类,
其方法内部进行比较行为,和上面,第一种方法,完全一样!
JAVA中有哪几种常用的排序方法
1、冒泡排序
冒泡排序是一个比较简单的排序方法。在待排序的数列基本有序的情况下排序速度较快。若要排序的数有n个,则需要n-1轮排序,第j轮排序中,从第一个数开始,相邻两数比较,若不符合所要求的顺序,则交换两者的位置;直到第n+1-j个数为止,第一个数与第二个数比较,第二个数与第三个数比较,......,第n-j个与第n+1-j个比较,共比较n-1次。此时第n+1-j个位置上的数已经按要求排好,所以不参加以后的比较和交换操作。例如:第一轮排序:第一个数与第二个数进行比较,若不符合要求的顺序,则交换两者的位置,否则继续进行二个数与第三个数比较......。直到完成第n-1个数与第n个数的比较。此时第n个位置上的数已经按要求排好,它不参与以后的比较和交换操作;第二轮排序:第一个数与第二个数进行比较,......直到完成第n-2个数与第n-1个数的比较;......第n-1轮排序:第一个数与第二个数进行比较,若符合所要求的顺序,则结束冒泡法排序;若不符合要求的顺序,则交换两者的位置,然后结束冒泡法排序。
共n-1轮排序处理,第j轮进行n-j次比较和至多n-j次交换。
从以上排序过程可以看出,较大的数像气泡一样向上冒,而较小的数往下沉,故称冒泡法。
2、选择排序
选择法的原理是先将第一个数与后面的每一个数依次比较,不断将将小的赋给第一个数,从而找出最小的,然后第二个数与后面的每一个数依次比较,从而找出第二小的,然后第三个数与后面的
3、插入排序
插入排序的原理是对数组中的第i个元素,认为它前面的i-1个已经排序好,然后将它插入到前面的i-1个元素中。插入排序对少量元素的排序较为有效.
4、快速排序
快速排序是对冒泡排序的一种改进。它的基本思想是:通过一次排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此大道整个数据变成有序序列。
如何用Java输入一个省份,然后列出这个省份所有城市的名字?
简单写了一下,一般来说,在项目里省市区是保存在数据库或者前端页面的js中的,到时候直接查询或者js中用json读取。
一般情况下是省市区三级联动。
现在写的这个是纯java,用的时候需要做一个省类的数组或者List,然后自行添加省市区的数据。
//省类
public class Sheng{
private String name;
private ArrayListShi shi= new ListShi();
public Sheng(String name){
setName(name);
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public void addShi(Shi shi){
this.shi.add(shi);
}
//TODO
public void printShiList(){
for(Shi s : shi){
System.out.println(s.name);
}
}
}
//市类
public class Sheng{
private name;
private String xian[] = new String[];
//TODO
public String getName(){
return name;
}
}
关于java省份排序和省份大小排序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-27,除非注明,否则均为
原创文章,转载请注明出处。