13 集合

本章将讲述如何利用 java 类库帮助我们实现传统的数据结构.

将集合的接口与实现分离

队列接口

队列接口指出可以在队列的尾部添加元素 进队, 在队列头部删除元素 出队, 并且可以查找队列中元素的个数. 当需要搜集对象,
并按照"先进先出"的规则检索对象时就应该使用队列. 队列的最小形式, 类似:

interface Queue<T>
{
void add(E element);
E remove();
int size();
}

队列通常有两种实现方式, 一种是循环数组, 另一种是链表.

-- 循环数组实现


class CirularArrayQueue<E> implements Queue<E>
{
CircularArrayQueue(int capacity) {}
public void add(E element)
public E remove()
public int size()

private E[] elements;
private int head;
private int tail;
}

迭代器


Iterator, 是用来遍历集合的很好的工具. 有3个主要方法, hasNext() 判断是否还有下一个, E next() 返回下一个, void
remove() 删除当前元素

具体的集合

1) 链表 LinkList

List<String> staff = new LinkList<String>();

sfaff.add("1");

staff.add("2");

Iterator iter = staff.iterator();

String fisrt = iter.next();

String second = iter.next();

iter.remove();  // 删除了最后的元素.

可以发现, java 中的许多数据结构, 为我们封装了内部的细节, 直接使用就可以了.

2) 数组列表 顺序表

直接使用 ArrayList 就可以了.

3) 树集

针对 java 版的数据结构, 需要一个专题总结, 所以, 详情, 请查看专题总结.

13 集合,布布扣,bubuko.com

时间: 2024-10-03 14:24:17

13 集合的相关文章

JAVA 13 (集合框架)

集合是一种容器. 集合和数组的不同之处:只用于存储对象,集合长度可变,数组只能存同一种类型的对象,集合可以存任意对象. Collection |--List:元素是有序的,元素可以重复,因为该集合提醒有索引 |--ArrayList:底层的数据结构使用的是数组,查询速度很快,增删稍慢.是不同步的,容易出安全隐患.单线程用,效率高. |--LinkedList:底层数据结构使用的是链表数据结构,查询速度慢,增删快 |--Vetor:底层是数组数据结构.victor是同步的,进步不用了 |--Set

redis 系列13 集合对象

一. 集合对象概述 这里的集合是string类型的无序集合,在集合对象中集合成员是唯一的,这就意味着集合中不能出现重复的数据.集合是通过哈希表实现的,集合中最大的成员数为 232-1 (4294967295, 每个集合可存储40多亿个成员).集合对象的编码可以是intset或者hashtable. 1.1 intset编码 intset编码的集合对象使用整数集合作为底层实现,集合对象包含的所有元素都被保存在整数集合里面.例如下面使用整数集合: 127.0.0.1:6379> sadd numbe

黑马程序员_JavaSE学习总结第15天_集合框架1

------- android培训.java培训.期待与您交流! ----------  15.01 对象数组的概述和使用 1 public class Student 2 { 3 // 成员变量 4 private String name; 5 private int age; 6 7 // 构造方法 8 public Student() 9 { 10 super(); 11 } 12 13 public Student(String name, int age) 14 { 15 super(

JavaSE_ 集合框架 总目录(15~18)

黑马程序员_JavaSE学习总结第15天_集合框架1 15.01 对象数组的概述和使用15.02 对象数组的内存图解15.03 集合的由来及与数组的区别15.04 集合的继承体系图解15.05 Collection集合的功能概述15.06 Collection集合的基本功能测试15.07 Collection集合的高级功能测试15.08 集合的遍历之集合转数组遍历15.09 Collection存储自定义对象并遍历案例(使用数组)15.10 集合的遍历之迭代器遍历15.11 Collection

集合总结

1 1:对象数组(掌握) 2 (1)数组既可以存储基本数据类型,也可以存储引用类型.它存储引用类型的时候的数组就叫对象数组. 3 (2)案例: 4 用数组存储5个学生对象,并遍历数组. 5 6 2:集合(Collection)(掌握) 7 (1)集合的由来? 8 我们学习的是Java -- 面向对象 -- 操作很多对象 -- 存储 -- 容器(数组和StringBuffer) -- 数组 9 而数组的长度固定,所以不适合做变化的需求,Java就提供了集合供我们使用. 10 (2)集合和数组的区别

JavaSE学习总结第15天_集合框架1

15.01 对象数组的概述和使用 1 public class Student 2 { 3 // 成员变量 4 private String name; 5 private int age; 6 7 // 构造方法 8 public Student() 9 { 10 super(); 11 } 12 13 public Student(String name, int age) 14 { 15 super(); 16 this.name = name; 17 this.age = age; 18

Java——定义类,引用类数据类型,集合类型(array list)

一.定义类 1.类的格式 public class 类名{ // 类名最好和文件名一样 数据类型 属性名称1: 数据类型 属性名称2: -} // phone.java public class Phone { // 属性 String brand; // 品牌型号 String color; // 颜色 double size; // 尺寸大小 } 2.类的调用 p { margin-bottom: 0.25cm; direction: ltr; color: #000000; line-he

Fluent_Python_Section2数据类型,03-dict-set,字典和集合

字典和集合 dict和set都基于hash table实现 1. 大纲: 常见的字典方法 如何处理查找不到的键 标准库中dict类型的变种 set和fronzenset类型 Hash table的工作原理 Hash table带来的潜在影响 字典dict 2. 泛映射类型 在collections.abc中,有Mapping和MutableMapping,两个抽象基类,主要作用是作为形式化文档,定义了映射类型的基本API. my_dict = {} #判定数据是不是广义上的映射类型 #不用typ

集合详解及代码测试

1:对象数组 (1)数组既可以存储基本数据类型,也可以存储引用类型.它存储引用类型的时候的数组就叫对象数组. 2:集合(Collection) (1)集合的由来 我们学习的是Java -- 面向对象 -- 操作很多对象 -- 存储 -- 容器(数组和StringBuffer) -- 数组 而数组的长度固定,所以不适合做变化的需求,Java就提供了集合供我们使用. (2)集合和数组的区别 A:长度区别          数组固定          集合可变 B:内容区别         数组可以是