Collection类集

1.Collection接口
2.List接口
2.1LinkedList类
2.2ArrayList类
2.3Vector类
2.4Stack类
2.5List接口各实现类的区别
3.Set接口
4.Map接口
4.1Hashtable类
4.2HashMap类
4.3 TreeMap
4.4WeakHashMap类
4.5Properties
Collections常用方法
// 将所有元素从一个列表复制到另一个列表
Collections.copy(new ArrayList(), new ArrayList());
// 如果两个指定collection中没有相同的元素,则返回 true
Collections.disjoint(new ArrayList(), new ArrayList());
// 使用指定元素替换指定列表中的所有元素
Collections.fill(new ArrayList(), new Object());
// 返回指定 collection 中等于指定对象的元素数
Collections.frequency(new ArrayList(), new Object());
// 返回指定源列表中第一次出现指定目标列表的起始位置,如果没有出现这样的列表,则返回 -1
Collections.indexOfSubList(new ArrayList(), new ArrayList());
// 根据元素的自然顺序,返回给定 collection 的最大元素
Collections.max(new ArrayList());
// //根据元素的自然顺序,返回给定 collection 的最大元素
Collections.min(new ArrayList());
// 使用另一个值替换列表中出现的所有某一指定值
Collections.replaceAll(new ArrayList(), "oldVal", "newVal");
// 反转指定列表中元素的顺序
Collections.reverse(new ArrayList());
// 返回一个比较器,它强行反转
Collections.reverseOrder();
// 返回一个比较器,它强行反转指定比较器的顺序
Collections.reverseOrder(new Comparator() {
@Override
public int compare(Object o1, Object o2) {
return 0;
}
});
// 使用默认随机源随机更改指定列表的序列
Collections.shuffle(new ArrayList());
// 根据元素的自然顺序对指定列表按升序进行排序
Collections.sort(new ArrayList());
// 根据元素的自然顺序对指定列表按降序进行排序
Collections.sort(new ArrayList(), Collections.reverseOrder());
// 在指定列表的指定位置处交换元素
Collections.swap(new ArrayList(), 1, 2);
5. Queue
PriorityQueue 类实质上维护了一个有序列表。加入到 Queue 中的元素根据它们的天然排序(通过其 java.util.Comparable 实现)或者根据传递给构造函数的 java.util.Comparator 实现来定位。
ConcurrentLinkedQueue 是基于链接节点的、线程安全的队列。并发访问不需要同步。因为它在队列的尾部添加元素并从头部删除它们,所以不需要知道队列的大小,对公共集合的共享访问就可以工作得很好。收集关于队列大小的信息会很慢,需要遍历队列。
阻塞队列类:实质上就是一种带有一点扭曲的 FIFO 数据结构。不是立即从队列中添加或者删除元素,线程执行操作阻塞,直到有空间或者元素可用。五个队列所提供的各有不同:
* ArrayBlockingQueue :一个由数组支持的有界队列。
* LinkedBlockingQueue :一个由链接节点支持的可选有界队列。
* PriorityBlockingQueue :一个由优先级堆支持的无界优先级队列。
* DelayQueue :一个由优先级堆支持的、基于时间的调度队列。
* SynchronousQueue :一个利用 BlockingQueue 接口的简单聚集(rendezvous)机制。
Collection类集的更多相关文章
- Collection类及常用API
Collection类及常用API Collection—类集工具类,定义了若干用于类集和映射的算法,这些算法被定义为静态方法,具体查看api文档; a) public static void so ...
- 类集-collection接口
类集就是一个动态的对象数组,与一般的对象数组不同,类集的对象类容可以随意扩充. 1,对象数组使用的时候会存在一个长度的限制,那么类集是专门解决这种限制的.使用类集可以向数组增加任意多的数据. 2,对象 ...
- 5.1 java类集(java学习笔记)Collection、List接口及ArrayList、LinkedList类。
一.类集 类集就是一组动态的对象数组,说类集可能不好理解,类集又称容器,容器顾名思义就是放东西的地方. 类集就是为了让我们更加简洁,方便的存放.修改.使用数据的. 二.Collection接口 我们看 ...
- javase基础笔记4——异常/单例和类集框架
继承 extends final关键 多态 是在继承的基础上 接口 interface 异常 exception 包的访问可控制权限 private default protect public 异常 ...
- 浅谈java类集框架和数据结构(1)
在另外一篇博客我简单介绍了java类集框架相关代码和理论. 这一篇博客我主要分析一下各个类集框架的原理以及源码分析. 一:先谈谈LinkedList 这是LinkedList源码的开头,我们能看到几点 ...
- java:类集框架
类集框架:jdk提供的一系列类和接口,位于java.util包当中,主要用于存储和管理对象,主要分为三大类:集合.列表和映射. 集合Set:用于存储一系列对象的集合.无序.不允许重复元素. 列表Lis ...
- 类集对enum的支持。
1,EmumMap public class EnumMap<K extends Enum<K>,V>extends AbstractMap<K,V>impleme ...
- java中的类集框架
1.什么是类集框架 1.是一组类和接口 2.位于java.util包当中 3.主要用于用户存储和管理对象 4.主要分为三大类——集合.列表和映射 2.类集框架图 虚线框的表示接口,实线框的表示实现类 ...
- 专题笔记--Java 类集框架
Java 类集框架 1. Java类集框架产生的原因 在基础的应用中,我们可以通过数组来保存一组对象或者基本数据,但数组的大小是不可更改的,因此出于灵活性的考虑和对空间价值的担忧,我们可以使用链表来实 ...
随机推荐
- HTML body体
p br h div span <!DOCTYPE html> <html lang="en"> <head> <meta charset ...
- Linux 主从数据库
主从数据库 主数据库的内容同步传输到附属数据库 客户访问附属数据库 这样做保证了数据库的稳定性 需要两台虚拟机 两边个虚拟机都要操作 配置hosts文件 进入/etc/hosts追加输入 192.16 ...
- Java的运行机制
Java程序运行机制 编译型(操作系统 c/c++) 解释型(网页 不追求速度) 程序运行机制
- CMake判断操作系统和编译器
判断操作系统 IF (CMAKE_SYSTEM_NAME MATCHES "Linux") ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Wind ...
- 【LeetCode】520. Detect Capital 解题报告(Java & Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 循环判断三个条件 大写字母个数和位置判断 根据首字符 ...
- 【LeetCode】20. Valid Parentheses 有效的括号
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 个人公众号:负雪明烛 本文关键词:有效,括号,括号匹配,栈,题解,leetcode, 力扣 ...
- 【LeetCode】883. Projection Area of 3D Shapes 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 数学计算 日期 题目地址:https://leetc ...
- Django项目部署到Apache服务器上
之前写了把Django部署到XAMPP上,但是有bug,翻apache日志的时候发现会无法import _ssl,然后我就怒而直接装apache2了 配置方法大约和这篇文章差不多 安装必要的包 sud ...
- Java初学者作业——用户输入一个小数,程序分解出整数部分和小数部分。
返回本章节 返回作业目录 需求说明: 用户输入一个小数,程序分解出整数部分和小数部分. 实现思路: 接收用户控制台输入的小数. 用强制类型转换将整数部分得到. 使用用户输入的小数减去整数部分得到小数部 ...
- 简单的 Shell 脚本入门教程
Shell脚本 运作方式与解释型语言相当,如果有语言基础,学起 Shell 脚本就非常容易,但是 Shell 与常见的语言不同,一些常见的函数在 Shell 中需要组合一些命令得以实现 工具推荐 Sh ...
