`
xinzhengjie
  • 浏览: 15793 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Collections工具类:提供了关于集合的常用操作

    博客分类:
  • JAVA
阅读更多
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class CollectionsTest {

/**
* Collections工具类:提供了关于集合的常用操作
*/
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<String>();
al.add("ab");
al.add("aadc");
al.add("aaa");
al.add("hgdfakjg");
al.add("xhyns");
al.add("yyiouop");
al.add("qq");
al.add("zdff");

Collections.sort(al, new StringComparator());

//int pos = Collections.binarySearch(al, "xhyns", new StringComparator());
int pos = MyCollections.binarySearch(al, "zz", new StringComparator());

for(String s : al)
System.out.println(s);

System.out.println("位置:" + pos);
}

}

class StringComparator implements Comparator<String> {
public int compare(String s1, String s2) {
int num = s1.length() - s2.length();
if(num!=0)
return num;
return s1.compareTo(s2);
}
}

class MyCollections {
private MyCollections(){}
public static <T> int binarySearch(List<T> l, T key, Comparator<T> com) {
int min = 0;
int max = l.size()-1;
int mid = 0;
while(max>=min) {
mid = (min+max)/2;
if(com.compare(key,l.get(mid))>0)
min = mid + 1;
else if(com.compare(key,l.get(mid))<0)
max = mid - 1;
else
return mid;
}
//判断mid位置的元素和key的大小
if(com.compare(key, l.get(mid))>0)
return -mid-2;
return -mid-1;
}
}
分享到:
评论

相关推荐

    559.557.JAVA基础教程_集合-Collections工具类常用方法的测试(559).rar

    Java集合框架是Java编程中不可或缺的部分,而Collections工具类则是这个框架中的一个重要工具,它提供了大量静态方法,用于操作各种集合接口(如List、Set、Queue等)的实例。本教程将深入探讨Collections工具类中的...

    commons-Collections最常用类介绍.pdf

    ***mons.collections:包含了 Commons Collections 自定义的一系列公共接口和工具类,这是核心包,提供了许多用于集合操作的实用工具。 ***mons.collections.bag:提供了实现Bag接口的类,Bag是一种特殊类型的集合...

    java工具类集合

    Java工具类集合是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,工具类通常被组织在各种包下,如`java.util`、`java.lang`、`java.io`等。下面将详细介绍...

    commons-beanutils、commons-collections、commons-collections等常用jar 包下载

    这三款库在Java开发中应用广泛,特别是在处理对象属性、集合操作和通用工具类时。它们使得代码更加简洁,减少了重复工作,并提高了代码的可读性和可维护性。在实际项目中,根据需求选择合适版本的Apache Commons库,...

    Java常用工具类

    Java常用工具类是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,最著名的工具类库是`java.util`包,它包含了大量实用类,如集合、日期时间、数学计算、...

    开发常用工具类

    "开发常用工具类"这个主题涵盖了各种不同领域的实用功能,例如字符串处理、日期时间操作、集合操作等。下面将详细介绍这些工具类中的常见知识点: 1. **字符串工具类**: - `StringUtils`:Apache Commons Lang ...

    一些java常用的工具类

    在IO操作方面,Java的java.io包提供了基础的输入输出流,但实际应用中可能需要更高级的功能,如NIO(New IO)提供非阻塞I/O,Apache Commons IO提供了更多实用的IO工具类。 网络编程中,Java.net包提供了Socket和...

    Java常用工具类集合

    在Java编程语言中,工具类集合是一系列实用的类,它们提供了各种通用功能,帮助开发者更高效地编写代码。这些工具类通常包含在Java的`java.util`以及其他相关的包中,如`java.text`,`javax.imageio`,`javax.xml`等...

    Collections集合工具类排序.docx

    首先,`sort(List&lt;T&gt; list)`方法是Collections工具类中最常用的排序方法之一,它根据列表中元素的自然排序(natural ordering)来对列表进行排序。自然排序是指列表中的元素必须实现Comparable接口,该接口定义了一...

    28个java常用的工具类源码

    在Java编程中,工具类(Utility Class)是包含各种静态方法的类,这些方法提供了方便的功能,例如字符串处理、集合操作、数学计算等。这里提到的"28个java常用的工具类源码"包含了Java开发中经常用到的一些实用工具...

    常用工具类常用工具类.zip

    此外,`Collections`工具类提供了对集合进行操作的方法,如排序、填充、反转等。 3. **Java.util.concurrent**: 针对多线程编程,此包提供了丰富的并发工具类,如`ExecutorService`、`Future`、`Semaphore`、`...

    Java常用类及集合操作

    Collections类是一个工具类,提供了一系列静态方法来操作集合。这些方法包括排序、查找最大/最小值、反转集合等。 - **排序**: - `sort(List&lt;T&gt; list)`:对列表进行排序。 - `reverse(List&lt;T&gt; list)`:反转列表...

    Java 常用工具类集合

    在Java编程语言中,工具类集合是一组预定义的、静态方法丰富的类,它们提供了各种实用功能,大大简化了开发人员的工作。这些工具类通常包含在Java标准库(JDK)的不同包中,如`java.util`、`java.lang`、`java.io`等...

    java常用工具类

    在Java编程语言中,工具类(Utility Class)是封装了常用功能的方法集合,它们通常以静态方法的形式提供,便于开发者快速调用。这些工具类极大地提高了开发效率,减少了代码重复,使得程序更加简洁、易读。以下是...

    java常用的工具类整理28个

    在Java编程语言中,工具类(Utility Class)是包含各种静态方法的类,这些方法用于执行特定任务,如数据操作、文件处理、数学计算等。它们通常不包含实例变量,只提供静态方法服务,帮助开发者提高代码的复用性和...

    commons-collections-3.2.jar

    Apache Commons Collections是Java开发中常用的一个开源库,它为Java集合框架提供了大量的实用工具类和扩展。"commons-collections-3.2.jar"是该库的版本3.2的实现,它包含了一系列高效、实用且功能丰富的数据结构和...

    28个java常用的工具类

    标题提到的“28个Java常用的工具类”可能是一个集合,包含了各种实用功能的类。以下是一些常见的Java工具类及其功能的详细说明: 1. **String类**:Java内置的String类提供了大量操作字符串的方法,如concat、...

    java常用工具类整理

    例如,`Collections`类提供了对集合的静态方法,可以进行排序、复制、查找等操作。 2. **java.io.*** 包:提供输入输出流处理,包括文件读写、网络通信、序列化等。例如,`FileInputStream`和`FileOutputStream`...

    27个java常用的工具类

    这里我们将探讨27个常用的Java工具类,以及它们在实际开发中的应用。 1. **Arrays**: 提供了一系列静态方法来操作数组,如排序、复制、填充和比较等。例如,`Arrays.sort()` 可以对数组进行排序,`Arrays.equals()`...

    java常用开发工具类大全

    - `com.google.common.*`: Guava是一个强大的Java库,包括`Collections2`, `Preconditions`, `Strings`等工具类,提供了更高级的集合操作,断言,字符串处理等特性。 4. **Java 8及以后版本的新特性** - `java....

Global site tag (gtag.js) - Google Analytics