Java 中的集合接口——List、Set、Map

Java 中的集合接口——List、Set、Map

什么叫集合:集合就是Java API所提供的一系列类的实例,可以用于动态存放多个对象。这跟我们学过的数组差不多,那为什么我们还要学集合,我们看看数组跟集合有什么区别:

数组:长度固定,遍历速度快 可以存储基本类型和引用类型;

集合:长度不固定,只能存储引用类型对象;

从数组跟集合的特点我们很明显的看出,数组有一定的局限性,如果我们需要不定期的往我们的数据中存储数据,数组就满足不了我们的要求。

Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中

Collection 接口存储一组不唯一,无序的对象 ;List 接口存储一组不唯一,有序(插入顺序)的对象;

Set 接口存储一组唯一,无序的对象;Map接口存储一组键值对象,提供key到value的映射

对于collection接口中的一些方法,我们用实际代码来学习一下吧:

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * Collection
 * 集合基本操作
 * 添加
 * 删除
 * 遍历
 * 判断
 * 查找
 * @author shen_hua
 *
 */
public class CollectionDemo {
    public static void main(String[] args) {
        Collection<String> collection=new ArrayList<String>();
        System.out.println("元素个数:"+collection.size());

        //添加元素
        collection.add("aaa");
        collection.add("bbb");
        collection.add("ccc");
        System.out.println("增加后元素的个数:"+collection.size());
//        //删除元素
//        collection.remove("bbb");
//        System.out.println("删除后元素的个数:"+collection.size());
//        collection.clear();
//        System.out.println("清空后元素的个数:"+collection.size());
        //增强for循环遍历
        System.out.println("增强for循环输出:");
        for (Object object : collection) {
            System.out.println(object);
        }
        //迭代器遍历
        System.out.println("迭代器遍历:");
        Iterator<String> iterator=collection.iterator();
        while(iterator.hasNext()){
            System.out.println(iterator.next());
        }
        //判断是否包含
        Boolean boolean1=collection.contains("aaa");
        System.out.println(boolean1);
        //判断是否为空
        Boolean boolean2=collection.isEmpty();
        System.out.println(boolean2);
    }
}

Iterator接口:所有实现了Collection接口的集合类都有一个iterator()方法用以返回一个实现了Iterator接口的对象: Iterator it = coll.iterator();

Iterator迭代器的工作原理:Iterator是专门的迭代输出接口。所谓的迭代输出就是将元素进行判断,判断是否有内容,如果有内容则把内容取出。 Iterator对象称作迭代器,用以方便的实现对集合内元素的遍历操作。

凡是能用 Iterator 迭代的集合都可以用JDK5.0中增强的for循环来更简便的遍历。

List接口:

时间: 2024-10-12 21:08:54

Java 中的集合接口——List、Set、Map的相关文章

Java中的集合框架-Map

前两篇<Java中的集合框架-Commection(一)>和<Java中的集合框架-Commection(二)>把集合框架中的Collection开发常用知识点作了一下记录,从本篇开始,对集合框架里的另外一部分Map作一下记录. 一,集合框架的Map接口 Map与Collection不同之处在于它是以键值对来存储数据: Map比较常用的实现类有四个:HashTable,HashMap,LinkedHashMap,TreeMap: Map的方法也可以分为四类,增删改查,大致如下: 新

java中的集合框架

由于数组具有属性单一,长度不可改变的缺点,于是在程序中我们使用集合来代替它. 集合中不可放入基本数据类型,基本数据类型都是通过自动拆包和自动装箱功能才能放入和取出集合. 分类:Collection接口和Map接口 Collection:存放单一值元素,又可分为list接口类型和set接口类型 list接口类型:存放元素是有序的可重复的,可通过循环来取出其中的元素,实现类ArrayList() set接口类型:hash值排列,存放元素是无序不可重复的,通过指针取出其中元素,实现类HashSet()

菜鸟日记之 java中的集合框架

java中的集合框架图 如图所示:java中的集合分为两种Collection和Map两种接口 可分为Collection是单列集合和Map的双列集合 Collection单列集合:继承了Iterator接口所以具有了iterator()方法 ,该方法返回一个Iterator<T>,这个接口具有 HasNext (),next(),remove()3个方法可以在实现类里完成实现. hasNext():判断是否有下一个元素 cusor是当前的操作下标 next():读取下一个元素 remove(

java中的集合操作类(未完待续)

申明: 实习生的肤浅理解,如发现有错误之处,还望大牛们多多指点 废话 其实我写java的后台操作,我每次都会遇到一条语句:List<XXXXX> list = new ArrayList<XXXXX>(); 但是我仅仅只是了解,list这个类是一个可变长用来存储的对象实例的类,我甚至觉得这个List对象可以理解成数组,但是却又与java中咱们正常理解的数组很多的不同,比如说,他的长度可以随着需要自动增长,比如说,实例化一个List类就和咱们声明数组的时候是不一样的! 今天的实习生活

java中各种集合的用法和比较

一,java中各种集合的关系图 Collection       接口的接口     对象的集合 ├ List             子接口         按进入先后有序保存   可重复 │├ LinkedList    接口实现类     链表     插入删除   没有同步   线程不安全 │├ ArrayList     接口实现类      数组     随机访问   没有同步   线程不安全 │└ Vector        接口实现类       数组              

Java中的集合框架(上)

Java中的集合框架概述 集合的概念: Java中的集合类:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象. 集合的作用: 1.在类的内部,对数据进行组织: 2.简单的快速的搜索大数据量的条目: 3.有的集合接口,提供了一系列排列有序的元素,并且 可以在序列中间快速的插入或删除有关的元素. 4.有的集合接口,提供了映射关系,可以通过 关键字(key)去快速查找到对应的唯一对象,而这个关键字可以是任意类型. 与数组的对比一为何选择集合而不是数组 1.数组的长度固定,集合长度可变 2.数

Java中的容器类(List,Set,Map,Queue)

Java中的容器类(List,Set,Map,Queue) 一.基本概念 Java容器类类库的用途是“保存对象”,并将其划分为两个不同的概念: 1)Collection.一个独立元素的序列,这些元素都服从一条或多条规则.List必须按照插入的顺序保存元素,而Set不能有重复的元素.Queue按照排队规则来确定对象产生的顺序(通常与它们被插入的顺序相同). 2)Map.一组成对的“键值对”对象,允许你使用键来查找值.ArrayList允许你使用数字来查找值,因此在某种意义上讲,它将数字与对象关联在

JAVA笔记整理(九),JAVA中的集合

在工作中,我们经常需要将多个对象集中存放,可以使用数组,但是数组的长度一旦固定之后是不可变的,为了保存数量确定的数据,我们可以使用JAVA中的集合. 在我看来,JAVA中的集合可以看作是一个特殊的数据库,可以针对这个数据库进行数据的增删查改,可以查看数据库的大小,查看数据库是否为空等等. JAVA中的集合是由Collection和Map两个接口派生出来的,正因为是两个接口,所以只能通过其子类来将其实例化,下图为常用集合: Collection是List.Queue和Set接口的父接口,Map是H

Java中各种集合总结(一)

(一)集合与数组 数组:(存基本数据类型)-->存对象的一种容器,长度固定,[不适合在对象数量未知的情况下使用] 集合:(存对象,对象类型可以不一样)-->长度可变,可在多数情况下使用. (二)层次关系 1.0 如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口: 2.0 其中集合的 详解 ①Collection接口[集合类  "根接口":Java中没有这个接口的直接实现类]----(有两个儿子)----> List:(有序.重复)--(又有俩