集合框架的工具类----Collections
来源:互联网 发布:广东省大数据局级别 编辑:程序博客网 时间:2024/05/21 10:32
/* *集合框架的工具类 *Collections */import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;public class CollectionsDemo {public static void main(String[] args) {sortDemo();System.out.println();binarySearshDemo();}public static void binarySearshDemo(){ArrayList<String> list=new ArrayList<String>();list.add("asdas");list.add("rtr");list.add("hh");list.add("hh");list.add("aa");list.add("asdadcsdfs");list.add("ujuku");Collections.sort(list);sop(list);//必须要先排序,才能使用binarySearch方法int index=Collections.binarySearch(list, "rtrq");int index1=halfSearch(list,"rtrq");sop("index:"+index);sop("index1:"+index1);}//binarySearch方法的原理public static int halfSearch(ArrayList<String> list,String key){int max,min,mid;max=list.size()-1;min=0;while(min<=max){mid=(min+max)>>1; // /2;String str=list.get(mid);int num=str.compareTo(key);if(num>0)max=mid-1;else if(num<0)min=mid+1;elsereturn mid;}return -min-1;}//比较器原理(如果元素自身不具备比较器,就要自定义一个比较器)public static int halfSearch2(ArrayList<String> list,String key,Comparator<String> cmp){int max,min,mid;max=list.size()-1;min=0;while(min<=max){mid=(min+max)>>1; // /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;elsereturn mid;}return -min-1;}public static void sortDemo(){ArrayList<String> list=new ArrayList<String>();list.add("asdas");list.add("rtr");list.add("hh");list.add("hh");list.add("aa");list.add("asdadcsdfs");list.add("ujuku");sop("排序前:");sop(list);Collections.sort(list);sop("自然排序的结果:");sop(list);//int index=halfSearch2(list,"aa",new StrLenComparator());Collections.sort(list,new StrLenComparator());sop("按照长度排序:");sop(list);//sop(index);String valuemax=Collections.max(list);sop("valuemax:"+valuemax);String lenmax=Collections.max(list,new StrLenComparator());sop("Lenmax:"+lenmax);}public static void sop(Object obj){System.out.println(obj);}}class StrLenComparator implements Comparator<String>{@Overridepublic int compare(String s1, String s2) {// TODO 自动生成的方法存根if(s1.length()>s2.length())return 1;if(s1.length()<s2.length())return -1;return s1.compareTo(s2);}}
结果图:
5 0
- 集合框架的工具类----Collections
- Collections工具类(集合框架)
- 集合框架工具类COllections
- 集合框架-工具类-Collections
- Collections集合框架工具类
- Collections集合框架工具类
- 黑马程序员_JAVA集合框架的工具类:Collections、Arrays
- JAVA——集合框架的工具类Collections
- (集合框架)collections工具类的常用方法
- 集合框架工具类 Collections ,Arrays
- 集合框架之Collections静态工具类
- Java集合框架:Collections工具类
- Java集合框架之Collections工具类
- 集合框架_Map集合、Collections工具类总结
- 集合框架__【Collections工具类】【Arrays工具类】
- 集合工具类Collections
- 集合工具类Collections
- Collections集合工具类
- Localizing Property List Values:对在Info.plist文件要显示的文字进行国际化(APP的名字或者quick action(shortItem)的文字)
- Android第三方QQ登录无限授权
- linux权限 study
- TCP协议摘要(二) 常见问题
- 10.23至10.29之所学
- 集合框架的工具类----Collections
- UNDO表空间详解
- 励志小贴士
- SQLServer CDC
- Redis学习笔记
- C 指针和数组
- java使用监听器实现对在线用户的统计
- javax.servlet.jsp.JspException cannot be resolved to a type
- android Apk打包过程概述_android是如何打包apk的