集合框架设计的目标:

  • 高性能。
  • 允许不同类型的集合,以类似的方式工作,有互操作性。
  • 对一个集合的扩展和适应必须简单。

集合框架包含:

  • 接口:代表集合的抽象数据类型。
  • 实现(类):具体实现(ArrayList、LinkList、HashMap、Tree)。
  • 算法:实现集合接口的对象里的方法执行的一些有用的计算,如:搜索,排序。

集合框架体系图

集合接口:

  • Collection:集合,代表一组object,Java不提供直接继承collection的类。
  • List:有序Collection,便于查找。
  • Set:无序Collection,便于增删,不允许相同元素。
  • SortedSet:有序集合。
  • Map:唯一的键映射到值。
  • Map.Entry:Map中的一个元素(键值对)。
  • SortedMap:Key升序的Map。
  • Enumeration:枚举,用于遍历,将要被Iterator取代。

Set和List的区别:

  • Set无序,不重复;List有序,可重复。
  • Set检索效率低,增删效率高——HashSet、TreeSet。
  • List检索效率高,增删效率低——ArrayList、LinkedList、Vector。

集合实现类

  • AbstractCollection

  • AbstractList
  • AbstractSequentialList:链式
  • LinkedList
  • ArrayList

  • AbstractSet
  • HashSet
  • LinkedHashSet
  • TreeSet

  • AbstractMap
  • HashMap
  • TreeMap
  • WeakHashMap
  • LinkedHashMap
  • IdentityHashMap

遍历

  • 遍历List推荐使用Iterator
  • 遍历Map推荐使用for(Map.Entry<T,T> entry : map.entrySet())

Java学习笔记【九、集合框架】的更多相关文章

  1. 【Java学习笔记】<集合框架>定义功能去除ArrayList中的重复元素

    import java.util.ArrayList; import java.util.Iterator; import cn.itcast.p1.bean.Person; public class ...

  2. 【Java学习笔记】<集合框架>对字符串进行长度排序

    package 测试; import java.util.Comparator; public class ComparatorByLength implements Comparator { //定 ...

  3. 【Java学习笔记】<集合框架>TreeSet,Comparable,Comparator

    public class Person implements Comparable{ private String name; private int age; public Person(){ su ...

  4. Java学习笔记之---集合

    Java学习笔记之---集合 (一)集合框架的体系结构 (二)List(列表) (1)特性 1.List中的元素是有序并且可以重复的,成为序列 2.List可以精确的控制每个元素的插入位置,并且可以删 ...

  5. JavaSE 学习笔记之集合框架(十八)

    集合框架:,用于存储数据的容器. 特点: 1:对象封装数据,对象多了也需要存储.集合用于存储对象. 2:对象的个数确定可以使用数组,但是不确定怎么办?可以用集合.因为集合是可变长度的. 集合和数组的区 ...

  6. Java学习笔记之集合

    集合(Collection)(掌握) (1)集合的由来? 我们学习的是Java -- 面向对象 -- 操作很多对象 -- 存储 -- 容器(数组和StringBuffer) -- 数组而数组的长度固定 ...

  7. java学习笔记之集合家族2

    集合体系 一.数据结构 List集合储存数据结构 <1>堆栈结构 特点:先进后出 <2>队列结构 特点:先进先出 <3>数组结构 特点:查询快,增删慢 <4& ...

  8. 【原】Java学习笔记026 - 集合

    package cn.temptation; public class Sample01 { public static void main(String[] args) { // 需求:从三国演义中 ...

  9. Java基础学习笔记十七 集合框架(三)之Map

    Map接口 通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图. Collection中的集合,元素是孤立存在的(理解为单身),向集合中存 ...

  10. 【Java学习笔记】集合转数组---toArray()

    package p2; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ...

随机推荐

  1. ubuntu---ssh连接

    17.04版本或其他版本: 1.第一步是.(这个必须先安装) apt-get install openssh-server 2.第二步: 当在这段输入ifconfig提示安装.再最后安装这个. 终端会 ...

  2. curl指令的坑

    今天使用curl指令构造一个docker api访问,一直得不到预期的结果.调试了半天,发现是网址没加引号. token=$(curl -v -XGET -H >& 由于网址跟了一串参数 ...

  3. shell脚本常见的结构化函数

    if-then if command then command fi if-then-else if command then command else command fi 嵌套if if comm ...

  4. CodeForces 1251B --- Binary Palindromes

    [CodeForces 1251B --- Binary Palindromes] Description A palindrome is a string t which reads the sam ...

  5. 【计算机视觉】OpenCV之GPU与OpenCL的相关内容说明

    1 扩展库简介OpenCV(Open Source Computer Vision Library)是一个致力于实时处理计算机视觉问题的开源库.它最初由Intel公司开发,以GPL许可协议发布,后来由 ...

  6. php 解决跨域问题

    header('Access-Control-Allow-Origin:*');header('Access-Control-Allow-Methods:POST,GET,OPTIONS');head ...

  7. Java判断指定日期是否为工作日

    Java判断指定日期是否为工作日 转自:https://www.jianshu.com/p/966659492f2f 转:https://www.jianshu.com/p/05ccb5783f65转 ...

  8. # Python 3 & 爬虫一些记录

    目录 Python 3 & 爬虫一些记录 交互模式和命令行模式 函数积累 语法积累 列表和元组 输入 交互模式下输入多行 爬虫 HTTP报文请求头User-Agent信息 解析库pyquery ...

  9. AC自动机练习2:修改串

    这道题的话用到了dp,一个比较简单的dp方程 1466: [AC自动机]修改串 poj3691 时间限制: 1 Sec  内存限制: 128 MB提交: 18  解决: 14[提交] [状态] [讨论 ...

  10. X-UA-Compatibles

    今天在看京东网页代码的时候,发现了X-UA-Compatibles 这个元信息属性,不是很清楚,百度了一下,做下记录 X-UA-Compatible 属性是 IE 浏览器在 IE8 版本开始提供的一个 ...