`

java 中 集合类详解(转载)

阅读更多

数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型)

     JAVA集合可以存储和操作数目不固定的一组数据。

     所有的JAVA集合都位于 java.util包中!

     JAVA集合只能存放引用类型的的数据,不能存放基本数据类型.

     JAVA集合主要分为三种类型:              

      Set(集)   List(列表)   Map(映射)

集合类说明及区别
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap


 Collection 接口
Collection是最基本的集合接口,声明了适用于JAVA集合(只包括Set和List)的通用方法。
Set  和List 都继承了Conllection,Map没有继承
Collection接口的方法:
boolean add(Object o)   :向集合中加入一个对象的引用
void  clear() :删除集合中所有的对象,即不再持有这些对象的引用
boolean isEmpty()           :判断集合是否为空
boolean contains(Object o):  判断集合中是否持有特定对象的引用
Iterartor iterator()  : 返回一个Iterator对象,可以用来遍历集合中的元素
boolean remove(Object o):从集合中删除一个对象的引用
int size()       :返回集合中元素的数目
Object[] toArray()   :返回一个数组,该数组中包括集合中的所有元素
关于:Iterator() 和toArray() 方法都用于集合的所有的元素,前者返回一个Iterator对象,后者返回一个包含集合中所有元素的数组。
Iterator接口声明了如下方法:
hasNext(): 判断集合中元素是否遍历完毕,如果没有,就返回true
next()       :返回下一个元素
remove():从集合中删除上一个有next()方法返回的元素。

Set(集合):
Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。
Set接口主要实现了两个实现类:
HashSet : HashSet类按照哈希算法来存取集合中的对象,存取速度比较快
TreeSet   : TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序。

Set 的用法:

存放的是对象的引用,没有重复对象

Set set=new HashSet();

String s1=new String("hello");

String s2=s1;

String s3=new String("world");

  set.add(s1);

  set.add(s2);

set.add(s3);

System.out.println(set.size());//打印集合中对象的数目 为 2。

Set 的 add()方法是如何判断对象是否已经存放在集合中?

                               boolean isExists=false;

                             Iterator iterator=set.iterator();

                            while(it.hasNext())           {

                                   String oldStr=it.next();

                                   if(newStr.equals(oldStr)){

                                   isExists=true;

                                            }

                            } 

 List(列表):

                  List的特征是其元素以线性方式存储,集合中可以存放重复对象。

                  List接口主要实现类包括:

                                ArrayList()  : 代表长度可以改变得数组。可以对元素进行随机的访问,向ArrayList()中插入与

                                                       与删除元素的速度慢。

                              LinkedList(): 在实现中采用链表数据结构。插入和删除速度快,访问速度慢。

                对于List的随机访问来说,就是只随机来检索位于特定位置的元素。

               List 的 get(int index) 方法放回集合中由参数index指定的索引位置的对象,下标从“0” 开始。

              最基本的两种检索集合中的所有对象的方法:

          1: 用for循环和get()方法:

              for(int i=0; i<list.size();i++){

                       System.out.println(list.get(i));

               }

         2: 使用 迭代器(Iterator):

              Iterator it=list.iterator();

             while(it.hashNext){

               System.out.println(it.next);

             }

      Map(映射):

       Map 是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。

       Map没有继承于Collection接口

      从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。

       Map 的常用方法:

           1 添加,删除操作:

            Object put(Object key, Object value): 向集合中加入元素

     Object remove(Object key):   删除与KEY相关的元素

     void putAll(Map t):   将来自特定映像的所有元素添加给该映像

     void clear(): 从映像中删除所有映射

    2 查询操作:

      Object get(Object key): 获得与关键字key相关的值

       Map集合中的键对象不允许重复,也就说,任意两个键对象通过equals()方法比较的结果都是false.

                       但是可以将任意多个键独享映射到同一个值对象上。

分享到:
评论

相关推荐

    Java集合排序及java集合类详解.pdf

    Java集合排序及java集合类详解.pdf

    Java集合类详解总结

    ### Java集合类详解总结 在Java编程中,集合框架(Collection Framework)是处理一组对象的强大工具,它提供了标准的数据结构来存储和操作这些对象。Java集合框架主要包括`Collection`、`Set`、`List`、`Queue`、`...

    java,常用集合详解

    java, java常用集合类详解(有例子,经典呐!!!集合类糊涂的来看啊!!) 集合类详解

    java集合类详解

    Java集合类是Java语言中用来存储数据的结构,它们是Java开发中非常重要的组件。在Java 2平台之前,集合框架的组成较为零散,自Java 2平台的JDK 1.2版本之后,引入了集合框架(Collections Framework),为集合类提供...

    Java集合排序及java集合类详解

    Java集合框架是Java编程语言中的一个核心组成部分,它为数据存储和操作提供了丰富的接口和类。在本篇中,我们将深入探讨Java集合的排序机制以及集合类的详细使用。 首先,我们来了解一下Java集合的基本分类。Java...

    Java集合排序及java集合类详解(Collection、List、Map、Set).doc

    Java集合排序及java集合类详解(Collection、List、Map、Set).doc

    Java集合排序及java集合类详解[定义].pdf

    Java集合排序及java集合类详解[定义].pdf

    java自定义集合类

    在Java编程中,集合框架是不可或缺的一部分,它提供了一种高效、灵活的方式来存储和操作对象。自定义集合类则是开发者根据特定需求扩展Java集合框架的行为,以满足个性化或特定业务场景的功能需求。以下是对"java...

    Java集合类原理详解.pdf

    Java中的容器大致可以分为两大类:**集合**(Collection)和**映射**(Map)。集合进一步分为List、Set等子类型,而映射则具有键值对的形式。 - **集合**:包括List、Set等,其中List保持插入顺序,而Set不允许重复...

    Java集合类详解

    NULL 博文链接:https://vbo-zhang.iteye.com/blog/695498

    Java集合框架详解

    在Java中,HashMap采用了链地址法来解决哈希冲突。即当多个键值对的哈希值冲突时,它们会被存储在同一个数组元素上,形成一个链表结构。在JDK1.8版本中,当链表长度超过阈值(默认为8)并且整体容量大于64时,链表会...

Global site tag (gtag.js) - Google Analytics