集合类

作者: 最爱的Tammy小姐 | 来源:发表于2017-09-07 17:57 被阅读0次

集合类的由来:

对象用于封装特有数据,对象多了就需要存储。如果对象的个数不确定,就是用集合容器进行存储。集合是一个容器,本身也是一个对象。

集合特点:

1. 用于存储对象的容器;

2. 集合的长度是可变的;(数组长度不可变)

3. 集合中不可以存储基本数据类型值;(只能存储对象,但数组都可以存储)

数值有很多,用数组存;数组有很多,用二维数组存;数据有很多,用对象存;对象有很多,用集合存;

集合容器因为内部的数据结构不同,有多种具体容器。不断的向上抽取,就形成了集合框架。

框架的顶层Collection接口:

Collection的常见方法:

1. 添加

boolean add(Object obj);

boolean addAll(Collection coll);

2. 删除

boolean remove(Object obj);

boolean removeAll(Collection coll);

3. 判断

boolean contains(Object obj);

boolean containAll(Collection coll);

boolean isEmpty();判断集合中是否有元素

4. 获取

int size();

Iterator iterator();取出元素的方式:迭代器

5. 其他

boolean retainAll(Collection coll);取交集

Object toArray();将集合转成数组

如何获取集合中的数据?

使用了Collection中的iterator()方法。调用集合中的迭代器方法。是为了获取集合中的迭代器对象。

while循环导致it对象在while循环之后,依然存在,占用内存空间。故开发过程中通常使用for循环。

迭代器原理:

Iterator iterator():

取出元素的方式:迭代器

该对象必须依赖于具体容器,因为每一个容器的数据结构都不同。所以该迭代器对象是在容器中进行内部实现的。

对于使用容器者而言,具体的实现不重要,只要通过容器获取到该实现的对象即可。也就是iterator方法。

Iterator接口就是对所有的Collection容器进行元素取出的公共接口。

Collection:

1. List:有序(存入和取出的顺序一致),元素都有索引(角标),元素可以重复。

2. Set:元素不能重复,无序。

List特有的常见方法:有一个共性特点是都可以操作角标。

添加:

void add(index,element);

void add(index,collection);

删除:

Object remove(index);

修改:

Object set(index,element);

获取:

Object get(index);

int indexOf(iobject);

int lastIndexOf(object);

List subList(from,to);

List集合可以完成对元素的增删改查。

ListIterator接口

List:

常用三个子类:

Vector:内部是数组数据结构,是同步的。增删,查询都很慢

ArrayList:内部是数组数据结构,是不同步的。替代了Vector。查询的速度快。

LinkedList:内部是数组数据结构,是不同步的。增删元素的速度很快。

Vector类

LinkedList类

练习:

LinkedList:

LinkedList相对ArrayList较少用。如果找不到该用那个,就用ArrayList(使用频率较高).

ArrayList:

相关文章

  • Java集合

    集合概述 •Java提供集合类,集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所有集合类都位于jav...

  • 14. 集合类

    1. Kotlin的集合类 Kotlin的集合类分为可变集合类和不可变集合类 2. 常用的三种集合类 主要有三种:...

  • Java 容器 - 一文详解HashMap

    Map 类集合 Java Map类集合,与Collections类集合存在很大不同。它是与Collection 类...

  • Collection 集合类

    Collection 集合类 java.util包中提供了一些集合类,这些集合类又称为容器;集合类和数组的区别在于...

  • Java集合类-集合类图谱

    数据结构在计算机知识体系中的重要性无需赘言,Java的jdk的集合类正是学习数据结构的很好素材。如果能把jdk的集...

  • 第10章 集合类与泛型 《Kotin 编程思想·实战》

    第10章 集合类与泛型 10.1 Kotlin集合类10.1.1 不可变集合类10.1.1.1 List10.1....

  • 那些年我们追过的Java面试之集合类、异常处理

    标签:Java面试、集合类、异常处理 2017/05/09 09:36 三.Java集合类 10.Java集合类框...

  • 函数的定义和调用

    3.1 创建集合 kotlin没有采用自己的集合类,而是采用的标准的java集合类。在java集合类的基础上新增了...

  • Java集合类总结

    Java集合类 1.简介: java集合类包含在java.util包下集合类存放的是对象的引用,而非对象本身。集合...

  • 集合类

    集合类的由来: 对象用于封装特有数据,对象多了就需要存储。如果对象的个数不确定,就是用集合容器进行存储。集合是一个...

网友评论

      本文标题:集合类

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