集合框架-Collections
来源:互联网 发布:python绝技 pdf 中文 编辑:程序博客网 时间:2024/05/19 05:33
2:Collections(理解)
(1)是针对集合进行操作的工具类
(2)面试题:Collection和Collections的区别
A:Collection 是单列集合的顶层接口,有两个子接口List和Set
B:Collections 是针对集合进行操作的工具类,可以对集合进行排序和查找等
(3)常见的几个小方法:
A:public static <T> void sort(List<T> list) 排序 默认情况下是自然顺序
B:public static <T> int binarySearch(List<?> list,T key) 二分查找
C:public static <T> T max(Collection<?> coll) 最大值
D:public static void reverse(List<?> list) 反转
E:public static void shuffle(List<?> list) 随机置换
package cn.itcast_01;import java.util.Collections;import java.util.List;import java.util.ArrayList;/* * Collections:是针对集合进行操作的工具类,都是静态方法。 * * 面试题: * Collection和Collections的区别? * Collection:是单列集合的顶层接口,有子接口List和Set。 * Collections:是针对集合操作的工具类,有对集合进行排序和二分查找的方法 * * 要知道的方法 * public static <T> void sort(List<T> list):排序 默认情况下是自然顺序。 * public static <T> int binarySearch(List<?> list,T key):二分查找 * public static <T> T max(Collection<?> coll):最大值 * public static void reverse(List<?> list):反转 * public static void shuffle(List<?> list):随机置换 */public class CollectionsDemo {public static void main(String[] args) {// 创建集合对象List<Integer> list = new ArrayList<Integer>();// 添加元素list.add(30);list.add(20);list.add(50);list.add(10);list.add(40);System.out.println("list:" + list);// [30, 20, 50, 10, 40]// public static <T> void sort(List<T> list):排序 默认情况下是自然顺序,即实现了自然排序的接口.Collections.sort(list);System.out.println("list:" + list);// [10, 20, 30, 40, 50]// public static <T> int binarySearch(List<?> list,Tkey):二分查找,二分查找之前要先排序System.out.println("binarySearch:" + Collections.binarySearch(list, 30));//2System.out.println("binarySearch:"+ Collections.binarySearch(list, 300));//-6 找不到的时候是最大索引加1// public static <T> T max(Collection<?> coll):最大值System.out.println("max:"+Collections.max(list));//50// public static void reverse(List<?> list):反转Collections.reverse(list);System.out.println("list:" + list);//public static void shuffle(List<?> list):随机置换Collections.shuffle(list);System.out.println("list:" + list);}}
补充:
List<String> allList = Collections.emptyList();// 返回空的List集合
使用Collections.emptyList(),返回一个空的List,但是发现它不支持Add功能,调用Add会抛出unsupportedException,
在以后要返回一个空的List,并还需要后续操作时,不能使用Collections.emptyList()方法,
看文档发现,List的实现类都有自己的实现,而返回的EmptyList的实现没有实现add(int index, E element)方法,使用了
AbstractList.add(int index, E element){
throw new UnsupportedOperationException();}
参考:http://www.cnblogs.com/baiduligang/p/4247683.html
- 集合框架-Collections
- 集合框架--Collections
- Java集合框架Collections
- Collections集合框架详细讲解
- Java集合框架->Collections类
- Collections工具类(集合框架)
- 集合框架工具类COllections
- 集合框架-工具类-Collections
- 集合框架总结(collections)
- Collections集合框架工具类
- 【集合框架】5. Collections类
- 集合框架---Map、Collections、compare
- Collections集合框架工具类
- 集合框架工具类 Collections ,Arrays
- 集合框架之Collections静态工具类
- 集合框架(Map和Collections)
- Java基础--集合框架之Collections
- 集合框架的工具类----Collections
- 题目1445:How Many Tables 九度OJ
- 【C++学习笔记】宽字符(LPCWTR/wstring)和(char*/string)的转换实现
- 杭电1029 之 Ignatius and the Princess IV
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 32-35: ordinal not in range(12
- openglesForC++矩形旋转
- 集合框架-Collections
- USACO 2017 January Contest, Gold Problem 1. Balanced Photo
- hololens
- Spring MVC常用的注解
- KM算法
- 单页应用跳转实现浅析-demo篇
- Appium 日常干货分享
- Vector,ArrayList,LinkedList,SynchronizedList
- splinter安装与入门