collections.sort()在java程序中的应用举例
来源:互联网 发布:μcos ii源码v2.86 编辑:程序博客网 时间:2024/05/22 20:27
import java.util.ArrayList;
import java.util.Collections;
public static String PrintMinNumber(int [] numbers) {
int n;
String s="";
ArrayList<Integer> list=new ArrayList<Integer>();
n=numbers.length;
for(int i=0;i<n;i++){
list.add(numbers[i]);//将数组放入arrayList中
}
//实现了Comparator接口的compare方法,将集合元素按照compare方法的规则进行排序
/*Collections.sort(list, new PriceComparator());的第二个参数返回一个int型的值,就相当于一个标志,
告诉sort方法按什么顺序来对list进行排序。compare(a,b)方法:根据第一个参数小于、等于或大于
第二个参数分别返回负整数、零或正整数。*/
/*Java中String类有一个compareTo方法,该方法返回一个int类型的数据。其比较规则是:
拿出字符串的第一个字符与参数的第一个字符进行比较,如果两者不等,比较结束,返回两者的ascii差,
即字符串的第一个字符减去参数的第一个字符的ascii码值,比如代码第五行的-1.如果相等,则比较第二个字符,以此类推。
比较到最后还是相等的,方法返回值为0。
这里有一点需要注意:如果两个字符串的长度不同,并且一个字符串与另一个字符串的前面N个字符相等,
那么这个方法返回返回两个字符串长度之差。比如代码第七行返回值为3.
举例如下:
String s1 = "abcd";
String s2 = "abce";
String s3 = "Abc";
String s4 = "abcdefg";
System.out.println(s1.compareTo(s2));
System.out.println(s1.compareTo(s3));
System.out.println(s4.compareTo(s1));
System.out.println(s4.compareTo(s2));
输出:-1 32 3 -1*/
Collections.sort(list,new Comparator<Integer>(){
public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub
String s1 = o1+""+o2;
String s2 = o2+""+o1;
return s1.compareTo(s2);
}
});
for(int j:list){
s+=j;
}
return s;
}
public static void main(String args[]){
int[] a = {3,32,321};
String s = PrintMinNumber(a);
System.out.println(s);
}
}
import java.util.Collections;
import java.util.Comparator;
/*输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。*/
public static String PrintMinNumber(int [] numbers) {
int n;
String s="";
ArrayList<Integer> list=new ArrayList<Integer>();
n=numbers.length;
for(int i=0;i<n;i++){
list.add(numbers[i]);//将数组放入arrayList中
}
//实现了Comparator接口的compare方法,将集合元素按照compare方法的规则进行排序
/*Collections.sort(list, new PriceComparator());的第二个参数返回一个int型的值,就相当于一个标志,
告诉sort方法按什么顺序来对list进行排序。compare(a,b)方法:根据第一个参数小于、等于或大于
第二个参数分别返回负整数、零或正整数。*/
/*Java中String类有一个compareTo方法,该方法返回一个int类型的数据。其比较规则是:
拿出字符串的第一个字符与参数的第一个字符进行比较,如果两者不等,比较结束,返回两者的ascii差,
即字符串的第一个字符减去参数的第一个字符的ascii码值,比如代码第五行的-1.如果相等,则比较第二个字符,以此类推。
比较到最后还是相等的,方法返回值为0。
这里有一点需要注意:如果两个字符串的长度不同,并且一个字符串与另一个字符串的前面N个字符相等,
那么这个方法返回返回两个字符串长度之差。比如代码第七行返回值为3.
举例如下:
String s1 = "abcd";
String s2 = "abce";
String s3 = "Abc";
String s4 = "abcdefg";
System.out.println(s1.compareTo(s2));
System.out.println(s1.compareTo(s3));
System.out.println(s4.compareTo(s1));
System.out.println(s4.compareTo(s2));
输出:-1 32 3 -1*/
Collections.sort(list,new Comparator<Integer>(){
public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub
String s1 = o1+""+o2;
String s2 = o2+""+o1;
return s1.compareTo(s2);
}
});
for(int j:list){
s+=j;
}
return s;
}
public static void main(String args[]){
int[] a = {3,32,321};
String s = PrintMinNumber(a);
System.out.println(s);
}
}
0 0
- collections.sort()在java程序中的应用举例
- java中的Collections.sort排序
- java中的Collections.sort()排序详解
- 双向链表在java中的应用举例-LinkedList
- Java Collections.sort 重载
- comparator<> || Collections.sort -------------------------java
- Java集合 --Collections.sort()
- java Collections.sort()方法
- python的排序函数sort,sorted在列表排序和字典排序中的应用详解和举例
- java List 排序 Collections.sort() 对 List 中的对象排序
- Java中的自定义类型的排序(Comaprator, Collections.sort())
- java 中的 collections.sort() 方法对list的排序
- Collection(Collections.sort)中的Values排序问题-java
- 用Java集合中的Collections.sort方法对list排序
- java 泛型 集合嵌套 Collections中的sort(list)方法
- Collections.sort()方法的应用
- EL在实际开发中的应用举例
- 状态机在RPG游戏中的应用举例
- 《精通javascript》里的一些函数(二)
- pip 安装 psycopg2 遇到的Command "python setup.py egg_info" failed
- 没有问题缺连不上数据库
- 对Ajax同步异步的理解
- LibGdx文档译读(十四) AudioDevice接口
- collections.sort()在java程序中的应用举例
- C# 事件和Unity3D
- java集合框架系列---HashSet
- listView解决item内容重复
- 坚持#第39天~回家了
- C++异步调用利器future/promise实现原理
- 图片格式JPG、GIF、PNG哪个好,该选择谁
- WEB——登录实例(类型转换)
- python核心编程学习笔记-2016-09-14-02-Web编程(六)