java 集合框架的工具类Collections
2020-04-09 16:04:12来源:博客园 阅读 ()
java 集合框架的工具类Collections
sort(),max(),binarySearch(),fill()
public class CollectionsDemo { public static void main(String[] args) { replaceAllDemo(); } public static void replaceAllDemo(){ List<String> list = new ArrayList<String>(); list.add("abcd"); list.add("aaaa"); list.add("z"); list.add("kkk"); list.add("qq"); list.add("qq"); System.out.println(list); Collections.replaceAll(list,"qq","aa");//指定元素替换 list.set() System.out.println(list); Collections.reverse(list);//反转 System.out.println(list); } public static void fillDemo(){ List<String> list = new ArrayList<String>(); list.add("abcd"); list.add("aaaa"); list.add("z"); list.add("kkk"); list.add("qq"); list.add("qq"); Collections.fill(list,"pp"); //[pp, pp, pp, pp, pp, pp],元素全部替换 System.out.println(list); } //原理 public static int halfSearch(List<String> list, String key) { int max, min, mid; max = list.size() - 1; min = 0; while (min <= max) { mid = (max + min) >> 1; 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 void binarySearchDemo() { List<String> list = new ArrayList<String>(); list.add("abcd"); list.add("aaaa"); list.add("z"); list.add("kkk"); list.add("qq"); list.add("qq"); Collections.sort(list); System.out.println(list); //搜索关键字的索引,如果它包含在列表中,则返回搜索键的索引; 否则,返回(-(插入点) - 1) 。 如果列表中的所有元素都小于指定的键,或list.size()。 插入点被定义为将键插入到列表中的点。 请注意,这确保当且仅当找到该键时返回值将为> = 0。 int index = Collections.binarySearch(list, "aaaaa"); System.out.println(index); } public static void maxDemo() { List<String> list = new ArrayList<String>(); list.add("abcd"); list.add("aaaa"); list.add("z"); list.add("kkk"); list.add("qq"); list.add("qq"); Collections.sort(list); System.out.println(list); // String max = Collections.max(list); //自然排序最后的元素 String max = Collections.max(list, new StrLenComparator()); //长度 System.out.println(max); } public static void sortDemo() { List<String> list = new ArrayList<String>(); list.add("abcd"); list.add("aaaa"); list.add("z"); list.add("kkk"); list.add("qq"); list.add("qq"); System.out.println(list); // Collections.sort(list); //自然排序 Collections.sort(list, new StrLenComparator()); //传入比较器 System.out.println(list); } } class StrLenComparator implements Comparator<String> { @Override public int compare(String o1, String o2) { if (o1.length() > o2.length()) return 1; if (o1.length() < o2.length()) return -1; return o1.compareTo(o2); } }
原文链接:https://www.cnblogs.com/hongxiao2020/p/12667693.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash