集合框架描写叙述

在JAVA 的 JDK API中设计了一组类专门实现各种各样方式的数据存储。这样一组专门来存储其它对象的类,一般称为对象容器类,简称容器类。这组类和接口的设计结构也被统称为集合框架(Collection Framework)。这组类和接口都包括在java.util中。

在集合框架中提供两种存储方式。

一是:依照索引值操作数据,  为每一个存储的数据设定一个索引值。存储在容器中第一个元素的索引值是0。下一个是1,。以此类推。实现这样的方式的集合类都实现java.util,Colletion接口。

二是:依照名称操作数据。

为每一个存储的数据设定一个名称,以后依照该名称操作数据。该名称不能反复。

这样的存储方式也称作  名称---数值对。都实现java.util.Map接口。


依照索引值操作数据的存储方式,又可以依照容器内部是否可以存储反复元素。划分两类。

一类是:同意存储反复元素 实现java.util.List  接口    ;二类是:不同意反复元素, 实现了java.util.Set接口。


List系列。该系列中依照索引值来操作数据,同意反复的元素。

Set系列,该系列依照索引值来操作数据。不同意反复元素。

Map系列,该系类依照名称来操作数据,名称不同意反复。值能够反复。



List系类:

该系类的类比較常见的有ArrayList和LInkedList两个。

ArrayList是以数组为基础实现的List。而LinkedList是以链表为基础实现的List.


add(Object o)方法。追加对象o到已有容器的末尾。


addAll(Object o)将容器对象c中的每一个元素一次追加到当前容器末尾。


get(int index)该方法是返货当前容器对象中所以仅仅index的元素的内容。


inedxOf(Object o)查找当前容器中是否存在对象o,存在返回该对象第一次出现的索引值,不存在返回-1。


remove(int  index)删除索引值为index的对象的内容,删除成功返回被删除对象的内容。


remove(Object  o)删除对象内容为o的元素。假设有多个则删除索引值最小的一个。 删除成功返回TRUE,  否则返回false。


size()返回当前容器中已经村春的有效元素的个数。


toArray()方法  。 Object[ ] toArray() 将当前容器中的元素依照顺序转换成一个Object数组。


set(int index ,   Object   o)方法,改动索引值为index的内容。替换成o.


set系列

该系列常见的类有。CopyOnWriteArraySet,以数组为基础实现的Set类。

HashSet类,是以哈希表为实现的Set类。

LinkedHashSet。

一链表为基础实现的Set类。

TreeSet。

以树为基础实现的SET类。

Set系列中的方法要比List中慷慨法少非常多,比如不支持改动和插入。对Set系列元素的遍历也须要转换为专门的Iteratro(迭代器)对象才干进行遍历。

比如:Set  set=new HashSet();   set.add("11"):   Iteratro it=set.iterator();  while(it.hasNext())    System.out.println(    (String) it.next()  ):



map系列

                 该系列中包括HanshMap,    LinkedHashMap ,      TreeMap;

 get()方法。 Object  get(Object     key) 获取当前容器中名称为key的结构的相应的值。

put(Object  o   ,  Object   value  )将值value以名称key的形式存储到容器中。

void  putall(Map   t):  将map对象t中的全部数据依照原来的格式存储到当前容器类中。相当于合并两个map容器。

remove(Object  key) 删除容器中名称为key的值

size()返回值数据的组数。

values()返回当前容器中全部的值组成的结合,以Collection对象的形式返回。

keyset,()   Set keyset();返回当前容器中 全部的名称,并将全部的名称一Set的形式返回  使用发方法能够实现对Map中全部元素的遍历。

比如:一个map对象。   Set  s=map.keyset();    Iteratro it= set.iterator();   while(it.hasNext){ String name=(String)it.next;     String value=(String ) map.get(name);     }这样才干把name相应的value输出。



原文地址:https://www.cnblogs.com/gccbuaa/p/7353646.html