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. AQTime教程

    1 简介 AQTime和MemProof都是AutomatedQA旗下的产品,AQTime比MemProof提供了更丰富强大的功能.该产品含有完整的性能和调试工具集,能够收集程序运行时关键的性能信息和 ...

  2. hdr rt format对颜色的影响

    我刚刚终于理解为什么rendertarget的format对颜色的影响为什么那么大了 r8g8b8a8  这种会有band artifacts rgbafloat 这种浮点rt 的色带变化更为连贯(R ...

  3. Node.js nvshens图片批量下载爬虫1.01

    //====================================================== // nvshens图片批量下载爬虫1.01 // 用最近的断点续传框架改写原有1.0 ...

  4. JQuery插件:动态列和无间隙网格布局Mason.js

    来源:GBin1.com 在线演示 JavaScript提供很多强有力的方案,解决动态列的网格布局(例如:Pinterest).这些方案很有效,但是,有时候,会造成网格的间隙或粗糙的边缘. Mason ...

  5. iOS NSFileManager对沙盒文件及目录添加删除操作

    iOS 使用 NSFileManager对沙盒里面的文件和目录,增加,修改,删除操作: - (void)viewDidLoad { [super viewDidLoad]; self.title = ...

  6. 操作系统开发之——一个简单的Bootsect

    先吓唬一下读者朋友呵呵,直接发代码:(这是UOS操作系统的Bootsect)(有兴趣的朋友能够增加我们,联系方式在最后) ;------------------------------ ;文件名称:B ...

  7. java设计模式之策略

    今天你的leader兴致冲冲地找到你,希望你可以帮他一个小忙,他现在急着要去开会.要帮什么忙呢?你很好奇. 他对你说,当前你们项目的数据库中有一张用户信息表,里面存放了很用户的数据,现在需要完成一个选 ...

  8. js设置百分比保留两位小数

      CreateTime--2017年8月23日11:03:31Author:Marydon js设置百分比保留两位小数 错误用法: var percent = (num1/num2) * 100%; ...

  9. 在进程中执行新代码 execl、execle、execlp、execv、execve和execvp函数

    摘要:本文主要讲述怎样在进程中执行新代码,以及exec系列函数的基本用法. 在进程中执行新代码 用函数fork创建子进程后,假设希望在当前子进程中运行新的程序,能够调用exec函数运行还有一个程序.当 ...

  10. 【SpringMVC学习01】宏观上把握SpringMVC框架

    springmvc是一个基于mvc的web框架,是spring框架的一个模块,所以springmvc和spring无需通过中间整合层进行整合.我们先来看下spring的一个架构模型,看springmv ...