Java工具类排序
一、直接调用工具类
sort(排序目标,排序算法),这个方法直接来自Collections工具类;
Collections.sort(list);//自然顺序的升序进行排序
Collections.sort(al, new Comparator<Interval>() {
public int compare(Interval b1, Interval b2) {
return b1.start - b2.start;//用匿名类的方式做好1,0,-1规则
}
});
二、在实体中实现Comparable接口,接口方法中做好1,0,-1规则,结合conllections.sort();使用即这里之后直接用这个方法即可不需再写规则
public class User implements Comparable<Object>{
int id;
String name;
@Override
public int compareTo(Object o) {
if(this ==o){
return 0;
}
else if (o!=null && o instanceof User) {
User u = (User) o;
if(id<=u.id){
return -1;
}else{
return 1;
}
}else{
return -1;
}
}
}
public class Test {
// 编写Comparator,根据User的id对User进行排序
private static final Comparator<User> COMPARATOR = new Comparator<User>() {
public int compare(User o1, User o2) {
return o1.compareTo(o2);// 运用User类的compareTo方法比较两个对象
}
};
public static void main(String[] args) {
ArrayList<User> student = new ArrayList<User>();
User user1 = new User(1, "yueliming");
User user2 = new User(5, "yueliming");
User user3 = new User(2, "yueliming");
student.add(user1);
student.add(user2);
student.add(user3);
Collections.sort(student, COMPARATOR);// 用我们写好的Comparator对student进行排序
for (int i = 0; i < student.size(); i++) {
System.out.println(student.get(i).getId() + student.get(i).getName());
}
}
}
三、比for循环高效一点的搜素
binarySearch
使用二分搜索法搜索指定列表,以获得指定对象。
binarySearch(List(T) list)
注意:在进行此调用之前,必须根据列表元素的自然顺序对列表进行升序排序(通过 sort(List) 方法)。
binarySearch(List(T) list,Comparator())
注意:在进行此调用之前,必须根据指定的比较器对列表进行升序排序(通过 sort(List, Comparator) 方法)///之前没有排序的list这里还是要排序
public static void demo()
{
List<String> list=new ArrayList<String>();
list.add("abcd");
list.add("aaaaa");
list.add("23415");
list.add("qq");
list.add("abcd");
list.add("23410");
list.add("mmm");
list.add("abcd");
Collections.sort(list);//自然顺序的升序进行排序
//Collections.sort(list,new StrlenComparator());//必须先排序
sop(list);
int index_1=Collections.binarySearch(list,"qq");//若不存在返回的是最后查找的插入点
int index_2=halfSerch2(list,"23400",new StrlenComparator());//调用比较器比较
sop("index_1="+index);
sop("index_2="+index_2);
}
相关推荐
java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List<Person> list = getData(); // 获取无序数据 new ...
Java工具类集合是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,工具类通常被组织在各种包下,如`java.util`、`java.lang`、`java.io`等。下面将详细介绍...
使用泛型的对象排序工具类(使用算法:快速排序),适合初学者学习快速排序的基本原理和实现。
在Java编程语言中,工具类(Utility Class)是包含各种静态方法的类,这些方法用于执行特定任务,如数据操作、文件处理、数学计算等。它们通常不包含实例变量,只提供静态方法服务,帮助开发者提高代码的复用性和...
Java工具类是编程中不可或缺的一部分,它们提供了许多实用的功能,帮助开发者提高代码的效率和可维护性。在Java中,工具类通常包含了各种通用的方法,适用于多种场景,减少了重复编码的工作。以下是一些主要的Java...
Java工具类是程序员在开发过程中经常使用的类库,它们提供了各种通用的功能,使得代码更加简洁、高效。在Java中,工具类通常是静态方法的集合,用于处理常见的编程任务,如字符串操作、数学计算、日期时间处理等。...
Java将2个List集合合并到一个List里面并排序工具类 1、Java编程资源,定义了一个名为`ListMerger`的工具类,主要包含一个名为`mergeAndSortLists`的静态方法。此方法用于将两个已经根据时间顺序排列的List合并成一...
总之,Java工具类是提高开发效率的关键,它们封装了常见的操作,减少了代码重复,提高了代码可读性和维护性。"一些java常用的工具类"可能涵盖了上述的多种功能,为开发者提供了方便快捷的编程体验。通过理解和利用...
1. **Collator 类**:这是 Java 中用于文本排序和检索的标准类。`Collator` 类提供了与语言环境相关的字符串排序和比较服务。 2. **Comparator 接口**:这是一个接口,用于定义比较两个对象的自然顺序的方法。 3. **...
Java工具类是Java编程语言中一个非常重要的组成部分,它们提供了许多实用的方法,帮助开发者更高效地处理各种编程任务。在Java中,工具类通常被设计为静态方法集合,不依赖于实例化对象,可以直接调用类中的方法进行...
"Java常用工具类汇总"是一个集合了各种实用工具类的资源,旨在方便开发者在处理常见任务时提高效率。这个工具类库覆盖了字符串、文件、数组以及数学等多个方面,同时也提供了相应的API文档,使得开发者能够更好地...
java开发中常用的工具类 比如 1:hibernate的配置 工具类复写 2:字符串加密 MD5加密 3:javabean到map的自动映射封装 4:javabean java对象到xml的自动封装 5:各种日期格式的处理 6:json的自动封装处理 7:...
D:\002 我的工具类\024 Java对各种排序算法的实现\新建文本文档.txt D:\002 我的工具类\025 公农历互转 D:\002 我的工具类\025 公农历互转\LunarCalendar.java D:\002 我的工具类\026 数字金额大写转换 D:\002 我的...
本压缩包提供了27个常用的Java工具类,涵盖了编码解码、安全加密、日期时间处理、文件操作等多个领域。以下是这些工具类的详细介绍: 1. **Base64Util**:这是一个用于Base64编码和解码的工具类。Base64是一种广泛...
下面,我们将详细探讨一些可能包含在其中的关键Java工具类知识点。 1. **集合框架**:Java集合框架是Java中处理对象集合的核心API,包括List、Set、Map等接口以及ArrayList、HashSet、HashMap等实现类。高效的数据...
"Java常用工具类大全,工作5年精心整理.zip"这个压缩包文件很可能包含了一位有经验的Java开发者在五年工作中积累的各种实用工具类,这些工具类能够极大地提高开发效率,简化代码编写。以下是对可能包含的知识点进行...
Java工具类是Java编程中非常重要的组成部分,它们提供了一系列预定义的方法,可以帮助开发者高效地处理各种常见任务,而无需从头实现。在Java中,最知名的工具类库是`java.util`包,它包含了大量方便实用的类。下面...
Java常用工具类是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,最著名的工具类库是`java.util`包,它包含了大量实用类,如集合、日期时间、数学计算、...
总的来说,Java工具类是对基础类型、对象和数据处理的一种抽象和优化,提高了开发效率和代码质量。理解并熟练使用这些工具类,对于提升Java编程能力至关重要。通过不断学习和实践,我们可以更好地利用这些工具类,写...
"飞龙Java工具类"是一组实用的Java代码库,旨在简化常见的编程任务,提高开发效率。这个工具类集合包含了处理日期、集合操作、排序、正则表达式等多种功能,对于任何Java开发者来说都是宝贵的资源。 1. **日期处理*...