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集合大杂烩的更多相关文章

  1. Java版本:识别Json字符串并分隔成Map集合

    前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些 ...

  2. Java常用的几种集合, Map集合,Set集合,List集合

    Java中  Object是所有类的根 Java集合常用的集合List集合.Set集合.Map集合 Map接口常用的一些方法 size() 获取集合中名值对的数量 put(key k, value v ...

  3. Map集合

    1:Map (1)将键映射到值的对象. 一个映射不能包含重复的键:每个键最多只能映射到一个值. 键值对的方式存在 (2)Map和Collection的区别? A:Map 存储的是键值对形式的元素,键唯 ...

  4. MyBatis的一系列问题的处理(遍历Map集合和智能标签和属性和字段不一样的解决办法 和sql片段)(三)

    一.字段名与属性名(数据库的名字)不一样怎么办? 方案一:在小配置中配置一个resultMapper <!--方案一:resultMapper 字段名与属性名不一致 --> <res ...

  5. Map集合及与Collection的区别、HashMap和HashTable的区别、Collections、

    特点:将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值. Map集合和Collection集合的区别 Map集合:成对出现 (情侣)                       ...

  6. java://Comparator、Comparable的用法(按照要求将map集合的键值对进行顺序输出)

    import java.util.*; public class Person implements Comparable<Person>//使Person的属性具有比较性 { priva ...

  7. Java集合类学习笔记(Map集合)

    Map用于保存具有映射关系的数据,因此Map集合里保存着两组数据,一组用于保存Map的key,一组用于保存key所对应的value. Map的key不允许重复. HashMap和Hashtable都是 ...

  8. java学习第18天(map集合)

    Map集合是将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. 存储的是键值对形式的元素,键唯一,值可以重复,有点类似于数据库中的主键加数据.主要功能有: A:添加功能 put ...

  9. Map集合 总结

    (本人第一次写博客,部分内容有参照李刚老师的疯狂java系列图书,如有遗漏错误,请多指教,谢谢.) Java的集合类可分为Set.List.Map.Queue,其中Set.List.Queue都有共同 ...

随机推荐

  1. Django开发流程及实例

    创建虚拟环境 创建:mkvirtualenv [虚拟环境名称] 删除:rmvirtualenv [虚拟环境名称] 进入:workon [虚拟环境名称] 退出:deactivate 所有的虚拟环境,都位 ...

  2. 什么是JSONP?

    一.先说说JSONP是怎么产生的: 其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,小可不才,试着用自己的方式来阐释一下这个问题,看看是否有帮助 ...

  3. @NotEmpty、@NotBlank、@NotNull区别

    @NotEmpty 用在集合类上面 @NotBlank 用在String上面 @NotNull    用在基本类型上

  4. Documentation/ABI/testing/sysfs-block.txt

    Chinese translated version of Documentation/ABI/testing/sysfs-block.txt If you have any comment or u ...

  5. intellij idea使用maven本地仓库及修改本地仓库路径

    什么maven本地仓库,默认是用户目录下的.m2/repository这个文件. idea是自带maven插件的不用我们再,怎么把依赖包下载到我们的本地仓库呢?一般是idea默认了路径,而且idea是 ...

  6. Servlet3.0使用@WebServlet注解配置问题记录

    文档说@WebServlet的配置属性都是可选的,不是必需的. 经实践,将一个Servlet配置成load-on-startup的Servlet时,若只添加loadOnStartup属性,该Servl ...

  7. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何使用断点

    首先写好简单的程序,比如A=10,然后A每次都会递减,C是SQRT(A),这样当A时负数的时候就会异常了,点击PLC-Windows-断点   点击新建,然后可以设置断点的位置(注意程序写好之后先运行 ...

  8. 使div变成半透明的css样式

    .layer { opacity:0.9; filter:alpha(opacity=90); zoom:1; }

  9. WCF 之 初识WCF

    在编程中服务的作用越来越大了,.net从2.0的 webservice,到3.5之后的WCF,服务的功能越来越强了.现在先从简单的看起,先看看WCF服务的发布. 现在来看看一步一步发布 WCF 服务. ...

  10. sprintf、vsprintf、sprintf_s、vsprintf_s、_snprintf、_vsnprintf、snprintf、vsnprintf 函数辨析

    看了题目中的几个函数名是不是有点头晕?为了防止以后总在这样的细节里纠缠不清,今天我们就来好好地辨析一下这几个函数的异同. 实验环境: Windows下使用VS2017Linux下使用gcc4.9.4 ...