collection和collections的区别
2018-02-09 12:43
573 查看
colleciton是集合接口,继承它的接口有list,set,注意map集合虽然也属于集合体系,但是map并不继承collection,map和collection是平级关系
collections是集合工具类,服务于colleciton,相当于collciont的工具,常用的方法有:
static <T extends Comparable<? super T>> void sort(List<T> list)
根据元素的自然顺序 对指定列表按升序进行排序。
static <T> void sort(List<T> list, Comparator<? super T> c)
根据指定比较器产生的顺序对指定列表进行排序
static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)
根据元素的自然顺序,返回给定 collection 的最大元素。
static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp)
根据指定比较器产生的顺序,返回给定 collection 的最大元素。
static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key)
使用二分搜索法搜索指定列表,以获得指定对象。
static <T> void fill(List<? super T> list, T obj)
使用指定元素替换指定列表中的所有元素
static void reverse(List<?> list) 反转指定列表中元素的顺序。
static void shuffle(List<?> list) 使用默认随机源对指定列表进行置换。
二分法原理
collections是集合工具类,服务于colleciton,相当于collciont的工具,常用的方法有:
static <T extends Comparable<? super T>> void sort(List<T> list)
根据元素的自然顺序 对指定列表按升序进行排序。
static <T> void sort(List<T> list, Comparator<? super T> c)
根据指定比较器产生的顺序对指定列表进行排序
static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)
根据元素的自然顺序,返回给定 collection 的最大元素。
static <T> T max(Collection<? extends T> coll, Comparator<? super T> comp)
根据指定比较器产生的顺序,返回给定 collection 的最大元素。
static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key)
使用二分搜索法搜索指定列表,以获得指定对象。
static <T> void fill(List<? super T> list, T obj)
使用指定元素替换指定列表中的所有元素
static void reverse(List<?> list) 反转指定列表中元素的顺序。
static void shuffle(List<?> list) 使用默认随机源对指定列表进行置换。
二分法原理
import java.util.ArrayList; import java.util.List; public class Demo { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); list.add(4); System.out.println(list); int binarySearch = binarySearch(list,4); System.out.println(binarySearch); } /** * 注意使用此方法的前提是已经排好序 * @param list * @param key * @return */ public static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key){ int max=list.size()-1;//最大的位置 int min=0;//最小的位置 int mid=0;//中间位置 while(min<=max){ mid=(max+min)>>1; Comparable<? super T> comparable = list.get(mid); int num= comparable.compareTo(key); if(num>0){ max=mid-1; }else if(num<0){ min=mid+1; }else{ return mid; } } return -1; } }
相关文章推荐
- java面试宝典第八篇List,Set,Collection,Collections的区别
- Collection与Collections的区别
- Java中Collection和Collections的区别
- Comparator and Comparable 及Collections and Collection 的区别及联系?
- Collection 与 Collections 的区别?
- Collection包结构,与Collections的区别。
- Java中Collection和Collections的区别
- Collections和Collection的区别
- Collection与Collections的区别
- Collection和Collections的区别
- Collection与Collections的区别?
- Java面试题:Collection 和 Collections的区别
- Collection与Collections,Array与Arrays的区别
- Collection与Collections的区别
- java中Collection与Collections的区别
- Collection与Collections的区别
- Collection与Collections的区别
- Java中Collection和Collections的区别
- Collection与Collections的区别?
- 黑马程序员--Collection和Collections的区别