A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 狗托。 中级黑马   /  2018-11-29 12:48  /  804 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数组:ArrayList底层是数组的实现。
特性:
1:长度不可变。
查询快:数组的地址是连续的,通过数组的首地址可以找到数组,通过数组的索引可以快速的查找某个元素。
增删慢:
2:查询快(元素有对应的索引,是一片连续的存储空间。1
链表:
特点:
1:增删快(添加增删元素不会改变原有内容)
2:查询慢()
双向链表:
1
红黑树:
特点:
查询快。
名词解释:
二叉树:分支不超过两个。
查找树/排序树:是一个有序的二叉树(左子树小于节点,右子树大于节点)左中右。则是从小到大的顺序。
平衡树:左右子树高度差不超过1
红黑树:趋近于平衡树,查询速度非常快。
Java.util.List
概述:
Collection下的一个子接口,在list接口下的集合都有以下特点。
1:有序。
2:有索引。
3:允许重复。
List中的特有功能(和索引相关的增删改查的功能)
Void add(int  index,E element):在指定索引位置添加元素。
E removeint index):删除指定索引位置的元素,把删除的元素返回。
E setint indexE element):修改指定索引个位置的元素。
E get(int index):获取指定索引位置元素。
AarryList:底层实现的数组(查询快,增删快)
LinkedList:底层实现的链表(查询慢,增删快)
特有功能:
针对于链表的首尾位置元素的操作。
E getFirst()
E getLast()
E removeFirst()
E removeLast()
Set接口的特点:
1:不允许存储重复元素。
2:没有索引,没有带索引的方法,也不能使用普通for循环。
JavaUtilHashSet集合 implements Set接口
特点:底层是hash表的实现,查询效率高。
1:不允许重复存储元素。
2:无索引
3:无序(不保证存和取的顺序)
HashSe存储原理:
通过hashCode方法确定索引位置。
再通过equals方法去除重复元素。
总结:
存储元素的操作:
1.先获取对象的hash值去存储元素。
2.Hash值不一样
则比较equals的返回值。
如果是true则认为元素重复。
如果是false,则认为元素不重复,则添加元素。
当我们用HashSet存储自定义对象的时候,如果想保证元素的唯一性,则需要重写HashCodeequals方法。
LinkedHashSet:本质就是一个有序的HashSet
Hash表用于储藏元素。
链表用于记录储藏顺序,当我们获取元素的时候,则会通过链表记录的顺序获取元素。
可变参数:
一种特殊的参数类型,可以接受任意多个同种数据类型的数据,:0种,一种,多种!
格式:
  数据类型...  参数名
原理:
将传递的任意多个元素,封装到一个数组中,最后再传递给可变参数的变量。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马