「java省份排序」省份大小排序

博主:adminadmin 2022-11-27 04:48:07 53

今天给各位分享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省份排序和省份大小排序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-27,除非注明,否则均为首码项目网原创文章,转载请注明出处。