List、Set、Map集合大杂烩
java集合主要分三种:list、set、map;当中list和set都继承自Collection接口,两者最大差别是set不能包括反复元素
list的经常使用实现类有:
- ArrayList:大小可变数组的实现
- LinkedList:链接列表实现,元素增删快,查找慢
- Vector:线程安全的大小可变数组的实现
list经常使用的方法有:
add(E e); // 向列表的尾部加入指定的元素
clear(); // 从列表中移除全部元素
contains(Object o); // 推断列表中是否包括指定元素
get(int index); // 返回列表中指定位置的元素。
isEmpty(); // 假设列表不包括元素,则返回 true
iterator(); // 返回包括列表中全部元素的迭代器
remove(int index); // 移除列表中指定位置的元素
set(int index, E element); // 用指定元素替换列表中指定位置的元素
size(); // 返回列表中的元素数
toArray(); //返回包括列表中全部元素的数组
set的经常使用实现类有:
- HashSet:基于hash算法的set集合
- LinkedHashSet:基于hash和链表算法的set集合
- TreeSet:基于二叉树算法的可排序set集合
set经常使用的方法有:
add(E e); // 假设set中尚未存在指定的元素,则加入此元素
addAll(Collection c); // 假设set中没有指定 collection 中的全部元素。则将其加入到此set中(交集运算)
clear(); // 移除此set中的全部元素
contains(Object o); // 假设set包括指定的元素,则返回 true
isEmpty(); // 假设set不包括元素,则返回 true
iterator(); // 返回包括set中全部元素的的迭代器
remove(Object o); // 假设set中存在指定的元素,则将其移除
removeAll(Collection c); //移除set中那些包括在指定 collection 中的元素(差集运算)
retainAll(Collection c); //仅保留set中那些包括在指定 collection 中的元素(并集运算)
size(); // 返回set中的元素数
toArray(); //返回包括set中全部元素的数组
map的经常使用实现类有:
- HashMap:基于hash的map实现
- Hashtable:基于hash。线程安全的map实现
map经常使用的方法有:
clear(); // 从此映射中移除全部映射关系
containsKey(Object key); //推断map中是否包括指定的key
entrySet(); //返回包括Map中全部元素的set集合
get(Object key); // 返回指定键所映射的值
isEmpty(); // 假设map不包括元素。则返回 true
keySet(); // 返回此映射中包括的键的Set视图
put(K key, V value); //加入键值对
remove(Object key); // 移除指定的key
size(); //返回map中键值对总数
values(); // 返回此映射中包括的值的 Collection 视图
Arrays
- asList(T… a); // 将指定的数组转换成list对象
- binarySearch(…); // 使用二分搜索法找指定的对象。使用前须先对数组进行排序
- equals(…); // 比較两个数组是否一致
- fill(…); //用指定值替代数组中的全部元素
- sort(…); // 对数组进行排序
复制数组能够使用 System.arraycopy(…)方法
Iterator
- hasNext(); // 假设仍有元素能够迭代。则返回 true
- next(); // 返回迭代的下一个元素
- remove(); // 移除迭代器返回的最后一个元素
Collections
- sort(…); // 对指定集合进行排序
- reverse(…); // 翻转集合的顺序
- shuffle(…); // 对指定集合进行位置的随机置换
- fill(…); // 用指定值替代集合中的全部元素
- max(…); // 返回集合中最大的元素
- min(…); // 返回集合中最小的元素
- frequency(…); // 返回指定值在集合中出现的次数
- synchronizedList(…)、synchronizedSet(…)、synchronizedMap(…); //返回支持同步的List、Set或Map
- unmodifiableList(…)、unmodifiableSet(…)、unmodifiableMap(…);
//返回不可改动的List、Set或Map
List、Set、Map集合大杂烩的更多相关文章
- Java版本:识别Json字符串并分隔成Map集合
前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些 ...
- Java常用的几种集合, Map集合,Set集合,List集合
Java中 Object是所有类的根 Java集合常用的集合List集合.Set集合.Map集合 Map接口常用的一些方法 size() 获取集合中名值对的数量 put(key k, value v ...
- Map集合
1:Map (1)将键映射到值的对象. 一个映射不能包含重复的键:每个键最多只能映射到一个值. 键值对的方式存在 (2)Map和Collection的区别? A:Map 存储的是键值对形式的元素,键唯 ...
- MyBatis的一系列问题的处理(遍历Map集合和智能标签和属性和字段不一样的解决办法 和sql片段)(三)
一.字段名与属性名(数据库的名字)不一样怎么办? 方案一:在小配置中配置一个resultMapper <!--方案一:resultMapper 字段名与属性名不一致 --> <res ...
- Map集合及与Collection的区别、HashMap和HashTable的区别、Collections、
特点:将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值. Map集合和Collection集合的区别 Map集合:成对出现 (情侣) ...
- java://Comparator、Comparable的用法(按照要求将map集合的键值对进行顺序输出)
import java.util.*; public class Person implements Comparable<Person>//使Person的属性具有比较性 { priva ...
- Java集合类学习笔记(Map集合)
Map用于保存具有映射关系的数据,因此Map集合里保存着两组数据,一组用于保存Map的key,一组用于保存key所对应的value. Map的key不允许重复. HashMap和Hashtable都是 ...
- java学习第18天(map集合)
Map集合是将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. 存储的是键值对形式的元素,键唯一,值可以重复,有点类似于数据库中的主键加数据.主要功能有: A:添加功能 put ...
- Map集合 总结
(本人第一次写博客,部分内容有参照李刚老师的疯狂java系列图书,如有遗漏错误,请多指教,谢谢.) Java的集合类可分为Set.List.Map.Queue,其中Set.List.Queue都有共同 ...
随机推荐
- 轻松编写 C++ 单元测试
单元测试概述 测试并不只是测试工程师的责任,对于开发工程师,为了保证发布给测试环节的代码具有足够好的质量( Quality ),为所编写的功能代码编写适量的单元测试是十分必要的. 单元测试( Unit ...
- 十个书写Node.js REST API的最佳实践(下)
收录待用,修改转载已取得腾讯云授权 5. 对你的Node.js REST API进行黑盒测试 测试你的REST API最好的方法之一就是把它们当成黑盒对待. 黑盒测试是一种测试方法,通过这种方法无需知 ...
- 给ubuntu设置静态ip —— How to set static IP Address in Ubuntu Server 16.04
原文: http://www.configserverfirewall.com/ubuntu-linux/ubuntu-set-static-ip-address/ ----------------- ...
- 转:ios的图片文件上传代码
转自: https://gist.github.com/igaiga/1354221 @interface ImageUploader : NSObject { NSData *theImage; } ...
- Unity 博客精选(持续更新)
Unity开源贡献 http://blogs.unity3d.com/2014/09/16/getting-started-as-a-contributor-to-our-open-source-pr ...
- Maven 多套环境配置
在Java开发中会配置不同环境,可通过Maven的profile指定不同的环境配置,pom.xml配置如下: <project xmlns="http://maven.apache.o ...
- Unity3D优化之合并网格
原文地址点击这里
- Linux相关面试题&答案
Linux相关面试题&答案 Linux面试题&答案 假设apache日志格式为:118.78.199.98 – - [09/Jan/2010:00:59:59 +0800] " ...
- gitlab和github区别
1.概述: github 是一个基于git实现在线代码托管的仓库,向互联网开放,企业版要收钱.gitlab 类似 github,一般用于在企业内搭建git私服,要自己搭环境. 2.GitHub. ...
- python-__init__.py 与模块对象的关系
python中的Module是比较重要的概念.常见的情况是,事先写好一个.py文件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的. ...