java基础入门----Collections1 集合框架工具类
2013-10-03 20:29
1086 查看
import java.util.*; class Collections1 //集合框架工具类 { public static void sop(Object obj) { System.out.println(obj); } public static void main(String[] args) { //sortDemo(); //排序方法 //maxDemo(); //取最大就是去排序完后最后的元素 //binarySearchDemo(); //折半查找 /* List<String> list = new ArrayList<String>(); list.add("asdf"); list.add("ed"); list.add("vfvf"); list.add("addee"); Collections.sort(list); sop(list); sop(halfSearchDemo(list,"ed")); Collections.sort(list,new StrLennComparator()); sop(list); sop(halfSearchDemo2(list,"ed",new StrLennComparator())); */ } public static void sortDemo() { List<String> list = new ArrayList<String>(); list.add("asdf"); list.add("ed"); list.add("vfvf"); list.add("addee"); Collections.sort(list); sop(list); Collections.sort(list,new StrLennComparator()); sop(list); } public static void maxDemo() { List<String> list = new ArrayList<String>(); list.add("asdf"); list.add("ed"); list.add("vfvf"); list.add("addee"); Collections.sort(list); sop(list); sop(Collections.max(list)); Collections.sort(list,new StrLennComparator()); sop(list); sop(Collections.max(list,new StrLennComparator())); } public static void binarySearchDemo() { List<String> list = new ArrayList<String>(); list.add("asdf"); list.add("ed"); list.add("vfvf"); list.add("addee"); Collections.sort(list);//Collections.sort(list,new StrLennComparator()); sop(list); int index = Collections.binarySearch(list, "vfvf"/*,new StrLennComparator()*/); sop("index="+index); } public static int halfSearchDemo(List<String> list, String key)//二半查找原理 { int max,min,mid; max = list.size()-1; min = 0; while(min <= max) { mid = (max+min)/2; String str = list.get(mid); int num = str.compareTo(key); if(num>0) max = mid-1; else if(num<0) min = mid+1; else return mid; } return -min-1; } public static int halfSearchDemo2(List<String> list, String key,Comparator<String> cmp) { int max,min,mid; max = list.size()-1; min = 0; while(min <= max) { mid = (max+min)/2; String str = list.get(mid); int num = cmp.compare(str, key); if(num>0) max = mid-1; else if(num<0) min = mid+1; else return mid; } return -min-1; } } class StrLennComparator implements Comparator<String> { public int compare(String s1, String s2) { if(s1.length() > s2.length()) return 1; if(s1.length() < s2.length()) return -1; return s1.compareTo(s2); } }
相关文章推荐
- 黑马程序员——Java基础---泛型、集合框架工具类:collections和Arrays
- Java基础---泛型、集合框架工具类:collections和Arrays
- 黑马程序员——Java基础---泛型、集合框架工具类:Collections和Arrays、JDK 1.5新特性
- Java基础之集合框架--Collections工具类中的sort()方法
- 黑马程序员——Java基础---泛型、集合框架工具类:collections和Arrays
- Java基础之集合框架--Collections工具类之max()方法
- 黑马程序员——Java语言基础:集合框架(Collection、Map,工具类Collections、Arrays)
- JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)
- Java基础---泛型、集合框架工具类:collections和Arrays (黑马程序员)
- 黑马程序员 java 基础 毕向东 面向对象 集合框架 工具类 Collections and Arrays
- 黑马程序员 java基础集合框架之集合工具类Collections
- 黑马程序员——Java基础--集合框架工具类:Collections、Arrays、其他对象
- java基础37 集合框架工具类Collections和数组操作工具类Arrays
- 黑马程序员——Java基础---泛型、集合框架工具类:collections和Arrays
- 黑马程序员---java----集合框架工具类:collections,Arrays和一些类
- Java基础之集合框架--Collections的fill()方法和replaceAll()方法
- Java中集合框架工具类——Collections(传智播客毕老师视频讲解)
- 集合框架-工具类(java基础)
- 黑马程序员————Java基础之集合框架工具类
- 黑马程序员_Java第17天知识总结_集合框架的工具类_Collections_Arrays_将数组变成list集合_集合变数组_高级for循环_可变参数