集合/常见的数据结构

     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 集合数据存储的结构是链表结构。方便元素添加、删除的集合。

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

    

你可能感兴趣的:(集合/常见的数据结构)