前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >集合 (1)

集合 (1)

作者头像
用户2436820
发布2018-09-05 10:26:37
3230
发布2018-09-05 10:26:37
举报

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 集合框架中的接口

集合中的框架接口图

图三

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.07.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. java集合框架
    • 1.1 将集合的接口与实现分离
      • 1.2 collection 接口
        • 1.3 迭代器
          • 1.4 泛型实用方法
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档