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. Synopsys EDA工具在LinuxMint 18(Ubuntu 16.04.2)安装注意事项

    Synopsys家的工具官方对Linux发行版支持为RHEL 5/6/7及SUSE 12/13,对于2014版本的工具(DC.ICC.PT.VCS.HSPICE等).其实,在Debian系及衍生版本上 ...

  2. web.config及<customErrors>节点之说明

    Web.config文件是一个XML文本文件,它用来储存ASP.NETWeb 应用程序的配置信息(如最常用的设置ASP.NETWeb 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中.当你 ...

  3. KRBTabControl

    This article explains how to make a custom Windows Tab Control in C#. Download demo project - 82.4 K ...

  4. xUtils怎样通过注解对FindViewById进行封装

    之前讲到了介绍了一下xUtils的基本用法,今天我们就来具体介绍一下关于xUtils中的ViewUtils模块. 在ViewUtils模块中我们首先看到的是它採用了一种注解的方式进行声明,那么我们首先 ...

  5. spock spring 集成测试框架搭建心得

    转载:http://blog.csdn.net/hankle_xu/article/details/77531880 spock测试框架,使用groovy作为脚本语言,开发出的测试脚本具有优良的阅读性 ...

  6. 【ACM】How many prime numbers

    http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2&sectionid=1&problemid=2 #inclu ...

  7. 云计算之路-阿里云上:SLB故障引发的网站不能正常访问

    2013年8月22日23:50~23:58左右,由于阿里云SLB(负载均衡)故障造成网站不能正常访问,给大家带来了麻烦,望大家谅解! 8月19日我们收到阿里云的短信通知: 尊敬的阿里云用户:      ...

  8. 近期写的一个控件——Well Swipe beta 1.0

    原文地址:http://blog.csdn.net/u013045971/article/details/51119507 近期花了大概一个半月的业余时间写的.从没有到有,中间也碰到了非常多的坑,一点 ...

  9. maven中如何指定jdk的版本

    问题再现: 当我们每次创建maven项目时,jdk的默认版本是1.5,而我们一般机器上安装的是1.7以上的版本,jdk版本不一样,遇到这种问题,有两种解决办法: 至于右键设置jdk版本不推荐,在此不作 ...

  10. java泛型介绍

    一.泛型初衷 Java集合不会知道我们需要用它来保存什么类型的对象,所以他们把集合设计成能保存任何类型的对象,只要就具有很好的通用性.但这样做也带来两个问题: –集合对元素类型没有任何限制,这样可能引 ...