集合/常见的数据结构

     List接口:有序的集合(存储和取出元素相同);允许存储重复的元素;有索引,可以使用普通的for循环遍历。Vector集合、ArrayList集合、LinkedList集合。

    Set接口:不允许存储重复的元素;没有索引(不能使用普通的for循环遍历)。Tree集合、HashSet集合。

Collection是所有单列集合的父接口,因此在Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操作所有的单列集合。方法如下:

* `public boolean add(E e)`:  把给定的对象添加到当前集合中 。

* `public void clear()` :清空集合中所有的元素。

* `public boolean remove(E e)`: 把给定的对象在当前集合中删除。

* `public boolean contains(E e)`: 判断当前集合中是否包含给定的对象。

* `public boolean isEmpty()`: 判断当前集合是否为空。

* `public int size()`: 返回集合中元素的个数。

* `public Object[] toArray()`: 把集合中的元素,存储到数组中。

    Iterator迭代器

Iterator接口的常用方法如下:

* `public E next()`:返回迭代的下一个元素。

* `public boolean hasNext()`:如果仍有元素可以迭代,则返回 true。

    泛型

  在创建对象的时候确定泛型。

    泛型通配符?,使用迭代器遍历集合,it.next()方法,取出的是Object。

    泛型的上限限定:?extends E,代表使用的泛型只能是E类型的子类/本身;泛型的下限限定:? super E,代表使用的泛型只能是E类型的父类/本身。


常见的数据结构

    栈:先进后出    队列:后进先出   链表:查找元素慢,增删快

    二叉树:binary tree ,是每个结点不超过2的有序树(tree) 。红黑树本身就是一颗二叉查找树,将节点插入后,该树仍然是一颗二叉查找树。也就意味着,树的键值仍然是有序的。

红黑树(查询速度非常快)的约束:

1.节点可以是红色的或者黑色的2. 根节点是黑色的

3. 叶子节点(特指空节点)是黑色的

4. 每个红色节点的子节点都是黑色的

5. 任何一个节点到其每一个叶子节点的所有路径上黑色节点数相同

红黑树的特点:速度特别快,趋近平衡树,查找叶子元素最少和最多次数不多于二倍

    java.util.ArrayList 集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用最多的功能为查询数据、遍历数据,所以 ArrayList 是最常用的集合。java.util.LinkedList 集合数据存储的结构是链表结构。方便元素添加、删除的集合。

可变参数:修饰符 返回值类型 方法名(参数类型... 形参名){ }

    

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 7,044评论 0 4
  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 9,711评论 0 16
  • 四、集合框架 1:String类:字符串(重点) (1)多个字符组成的一个序列,叫字符串。生活中很多数据的描述都采...
    佘大将军阅读 4,132评论 0 2
  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
    Winterfell_Z阅读 11,342评论 0 13
  • 本系列出于AWeiLoveAndroid的分享,在此感谢,再结合自身经验查漏补缺,完善答案。以成系统。 Java基...
    济公大将阅读 5,393评论 1 6