集合 (1)

作者: 奔跑的蛙牛 | 来源:发表于2018-07-21 22:14 被阅读1次

1. java集合框架

类库规模小且易于学习,不想C++那么复杂,却具有泛型算法的优点

1.1 将集合的接口与实现分离

队列:可以在队尾添加元素,可以在队头添加元素。可以查找队列元素的个数

队列

// 队列接口的简单形式

public interface Queue<E>{

    void add(E element);

    E remove();

    int size();

}

队列两种循环方式一种是循环数组;另一种是使用链表

每一个具体的实现都可以通过实现Queue接口的类来显示

// 这就是典型的接口与实现方法相分离

public class CircularArrayQueue<E> implements Queue<E>{

    private int head;

    private int tail;

    CircularArrayQueue(int capacity) { ... }

    public void add(E element) { . . . } 

    public E remove()

    public int size() { . . . }

    private E[] elements;

}

1.2 collection 接口

java类库中,集合的基本接口是Collection接口。这个接口有两个基本方法

public interface Collection<E>{

    boolean add(E element);

    Interator<E> iterator();

    // ....

}

1.3 迭代器

Interator 接口包含四个方法

public interface Interator<E>{

    E next();

    boolean hasNext();

    void remove();

    default void forEachRemaining(Consumer <? super E> action);

}

// 通过反复调用next()方法可以逐个访问集合的每一个元素

Collection <string> = ....;

Interator<string> iter = c.interator();

while(iter.hasNext()){

    String element = iter.next();

    do someting with element;

}

// 用foreach循环可以更简单的表示同样的操作

// 第三种循环通过interator里面的forEachRemaining方法提供的一个表达式。他将对表达式的每一个元素调用lambda表达式

iterator.forEachRemaining(element -> do something with element);

interator 方法将会删除上次调用next方法返回的元素

如何删除第一个元素?

Interator<string> iter = c.interator();

iter.next();

iter.remove();

图2

1.4 泛型实用方法

由于Collection和Interator都是泛型接口,可以编写操作任何集合类型的方法

public static <E> bollean contains(Collection<E> c,Object obj)

{

    for (E element:c)

        if(element.equals(obj))

            return true;

        return false;

}

1.5 集合框架中的接口

集合中的框架接口图

图三

相关文章

  • 集合1

    集合:也是一种存储数据的手段,一次可以存储多个值 短期存储:一旦计算机关闭了,存储的东西就会消失---对象、变量、...

  • 集合 (1)

    1. java集合框架 类库规模小且易于学习,不想C++那么复杂,却具有泛型算法的优点 1.1 将集合的接口与实现...

  • 集合(1)

  • 集合1

    Java集合类提供了一套设计良好的支持对一组对象进行操作的接口和类。 1、Java集合类里面最基本的接口? Col...

  • 集合-1

    集合出现的目的就是为了取代数组的 一.数组的缺点1 数组在存储多个数据方面的特点: > 一旦初始化以后,其长度就确...

  • 【代数-集合】1、集合的含义(1)

    本文收录至文集:高考数学第一轮复习 1、本系列训练专门针对处于数学高考第一轮复习阶段的学生,以及数学基础较为薄弱的...

  • Java实战开发篇-8 集合

    集合 一、简介 1.集合分为Collection集合和List集合(1)Collection是集合类的一个接口,它...

  • 16.Collection集合

    主要内容: Collection 集合 迭代器 增强for List 集合 Set 集合 1,集合 集合是java...

  • redis有序集合排序

    一、集合1.设置集合 2.获取集合成员数 3.获取集合成员 二、有序集合1.设置集合中的索引及成员 2.返回集合中...

  • swift第三周学习总结

    1. 集合(Set) (1)集合的定义: (2)集合写法: 举例: (4)对集合的操作: 2. 字典(Dictio...

网友评论

    本文标题:集合 (1)

    本文链接:https://www.haomeiwen.com/subject/strkmftx.html