zoukankan      html  css  js  c++  java
  • java collection

    在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便。这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且在数据结构中熟知的。例如Map,Set,List等。并且Java用面向对象的设计对这些数据结构和算法进行了封装,这就极大的减化了程序员编程时的负担。程序员也可以以这个集合框架为基础,定义更高级别的数据抽象,比如栈、队列和线程安全的集合等,从而满足自己的需要。 

    Java2的集合框架,抽其核心,主要有三种:List、Set和Map。如下图所示: 


    java_Collection_介绍

    需要注意的是,这里的 Collection、List、Set和Map都是接口(Interface),不是具体的类实现。 List lst = new ArrayList(); 这是我们平常经常使用的创建一个新的List的语句,在这里, List是接口,ArrayList才是具体的类。 

    常用集合类的继承结构如下: 
    Collection<--List<--Vector 
    Collection<--List<--ArrayList 
    Collection<--List<--LinkedList 
    Collection<--Set<--HashSet 
    Collection<--Set<--HashSet<--LinkedHashSet 
    Collection<--Set<--SortedSet<--TreeSet 
    Map<--SortedMap<--TreeMap 
    Map<--HashMap 

    Set:不能包含重复的元素。

    List:是一个有序的集合,可以包含重复的元素。提供了按索引访问的方式。

    Map:包含了 key-value 对。Map 不能包含重复的 key。

    List总结: 

    • 所有的List中只能容纳单个不同类型的对象组成的表,而不是Key-Value键值对。例如:[ tom,1,c ]
    • 所有的List中可以有相同的元素,例如Vector中可以有 [ tom,koo,too,koo ]
    • 所有的List中可以有null元素,例如[ tom,null,1 ]
    • 基于Array的List(Vector,ArrayList)适合查询,而LinkedList 适合添加,删除操作

    Set总结: 

    • Set实现的基础是Map(HashMap)
    • Set中的元素是不能重复的,如果使用add(Object obj)方法添加已经存在的对象,则会覆盖前面的对象

    Map: 
    Map 是一种把键对象和值对象进行关联的容器,而一个值对象又可以是一个Map,依次类推,这样就可形成一个多级映射。Map有两种比较常用的实现:HashMap和TreeMap。 

    键和值的关联很简单,用put(Object key,Object value)方法即可将一个键与一个值对象相关联。用get(Object key)可得到与此key对象所对应的值对象。 

  • 相关阅读:
    02-线性结构2 一元多项式的乘法与加法运算
    两个堆栈实现列队
    队列的顺序存储和链式存储实现
    包含MIN函数的栈+一个数组实现两个堆栈+两个数组实现MIN栈
    利用纯java捕获和播放音频
    许令波老师的java的IO机制分析文章
    soundtouch源码分析__based on csdn :
    java桌面项目打包_by icewee_写得太棒了,直接转载了
    白化检验( 白噪声准则检验 )
    对于冯嘉礼老师定性映射理论的复习
  • 原文地址:https://www.cnblogs.com/yanz/p/3937166.html
Copyright © 2011-2022 走看看