专栏首页于晓飞的专栏java 容器 --- Collections

java 容器 --- Collections

// 排序
void sort(List<T> list);
void sort(List<T> list, Comparator<? super T>);
// 二分查找
int binarySearch(List list, T key);
int binarySearch(List list, T key, Comparator<? super T> cmp);

// 倒置
void reverse(List<?> list);

// 打乱
void shuffle(List<?> list);

// 交换
void swap(List list<?>, int i, int j);

// 填充
void fill(List list<? super T>, T obj);

// 复制
void copy(List<? super T> dest, List<? extends T> src);

// 最值
T min(Collection<? extends T> coll);
T min(Collection<? extends T> coll, Comparator<? super T> cmp);
T max(Collection<? extends T> coll);
T max(Collection<? extends T> coll, Comparator<? super T> cmp);

// 旋转
void rotate(List list<?>, int distance);

// 替换
boolean replaceAll(List<T> list, T oldVal, T newVal);

// target列表在source列表中的位置
int indexSubList(List<?> source, List<?> target);
int lastIndexSubList(List<?> source, List<?> target);


XXX = {Collection, Set, SortedSet, List, Map, SortedMap};
// 返回一个内容不可更改的 XXX 容器
XXX unmodifiableXXX(XXX xxx);
// 返回一个线程安全的 XXX 容器
XXX synchronizedXXX(XXX xxx);
// 返回一个 XXX 容器,在编译期就进行类型检查
XXX checkedXXX(XXX<E> xxx, Class<E> class);

// 返回空的YYY
YYY={Iterator, ListIterator, Enumeration, Set, List, Map}
YYY emptyYYY();

// 返回只有一个元素的容器
Set<T> singleton(T o);
List<T> singletonList(T o);
Map<K,V> singletonMap(K k,V v); 

List<T> nCopies(int n, T o); //返回一个有n个o对象的列表

Comparator<T> reverseOrder(); // 返回一个逆序比较器
Comparator<T> reverseOrder(Comparator<T> cmp) // 返回一个逆序比较器

Enumeration<T> enumeration(Collection<T> c); //集合转换为Enumeration
ArrayList<T> list(Enumeration<T> e); // Enumeration转换为List

int frequency(Collection<?> c, Object obj); //统计某个对象出现的次数
boolean disjoint(Collection c1, Collection c2); //如果两个集合中没有相同元素返回true
boolean addAll(Collection<? super T>, T ...); //向集合中添加元素
Set<E> newSetFromMap(Map<E, Boolean> map); 
Queue<T> asLifoQueue(Deque<T> deque); //把Deque当作栈来用

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 读 Java Arrays 源码 笔记

    Arrays.java是Java中用来操作数组的类。使用这个工具类可以减少平常很多的工作量。了解其实现,可以避免一些错误的用法。

    yuxiaofei93
  • ImageLoader 相关知识点

    我们不能够通过构造函数创建Bitmap对象。如果需要将图片转成Bitmap对象加载到内存中,就需要使用BitmapFactory类。BitmapFactory跟...

    yuxiaofei93
  • Java 注解 学习笔记

    我们平常写Java代码,对其中的注解并不是很陌生,比如说写继承关系的时候经常用到@Override来修饰方法。但是@Override是用来做什么的,为什么写继承...

    yuxiaofei93
  • Mybatis之拦截器Interceptor

        使用mybatis时用PageHelper进行分页,用到了PageInterceptor,借此了解下mybatis的interceptor。Mybati...

    克虏伯
  • (53) 剖析Collections - 算法 / 计算机程序的思维逻辑

    之前几节介绍了各种具体容器类和抽象容器类,上节我们提到,Java中有一个类Collections,提供了很多针对容器接口的通用功能,这些功能都是以静态方法的方式...

    swiftma
  • 【设计模式】—— 原型模式Prototype

      模式意图   由于有些时候,需要在运行时指定对象时哪个类的实例,此时用工厂模式就有些力不从心了。通过原型模式就可以通过拷贝函数clone一个原有的对象,给...

    用户1154259
  • 扩展Ribbon支持Nacos权重的三种方式

    •把性能差的机器权重设低,性能好的机器权重设高,让请求优先打到性能高的机器上去;•某个实例出现异常时,把权重设低,排查问题,问题排查完再把权重恢复;•想要下线某...

    用户1516716
  • 【Leetcode】107. 二叉树的层次遍历 II

    给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

    Leetcode名企之路
  • LCD显示异常分析——开机闪现花屏【转】

    最近在工作中,有同事遇到LCD开机瞬间会闪现雪花屏的问题,而这类问题都有个共同点,那就是都发生在带GRAM的屏上,同样的问题,在休眠唤醒时也会出现。

    233333
  • java集合【6】-- Collection源码解析

    collection在java集合中,算是顶级接口,它继承了iterable接口,不能实例化,只能实例化其子类。之所以需要这样一个接口,是因为java作为面向对...

    秦怀杂货店

扫码关注云+社区

领取腾讯云代金券