List

List

1.泛型

1.1泛型的定义
  1. 尖括号 <> 是泛型的标志
  2. E 是类型变量(Type Variable),变量名一般要大写
  3. E 在定义时是形参,代表的意思是 最终传入的类型
1.2分类
  1. 泛型类
  2. 泛型方法
1.3作用

1.增加编译期间的类型检查
2. 取消类型转换的使用

1.4总结
  • 泛型是作用在编译期间的一种机制,即运行期间没有泛型的概念

  • 泛型是为了解决某些容器、算法等代码的通用性而引入,并且能在编译期间做类型检查

  • 泛型是一种编译期间的机制,即 MyArrayList 和 MyArrayList 在运行期间是一个类型

  • 泛型利用的是 Object 是所有类的祖先类,并且父类的引用可以指向子类对象的特定而工作

  • 泛型:伪泛型 类型擦除:编译器在编译阶段,把代码转换成jdk1.5之前object,代码兼容
    泛型类:在以前的版本中(object)+编译时的类型检测

2. 包装类

2.1 基本数据类型和包装类直接的对应关系

byte 1 Byte
short 2 Short
long 8 Long
float 4 Float
double 8 Double
char 2 Character
boolean 不确定 Boolean
int 4 Integer

2.2

int i=10;
Integer i1=i;// 自动装箱 编译器在编译阶段会使用i构造一个包装类型的对象 自动调valueOf( )
Integer i2=Integer.valueOf( i);//装箱 将基本类型定义的变量转化为包装类的对象
int i3=i2.intValue( );//拆箱 将包装类中的数据拿出
int i4=i1;// 自动拆箱 将包装类型的直对象接转化为对应的基础变量 自动调用intValue( )

2.3Java反编译

反汇编: Terminal命令行

  1. 进入.class所在的目录
  2. javap -c 类名 .class文件文件解析
2.4装箱,拆箱

Integer内部维护了一段空间数组 low=-128 high=127
i如果在范围内找到对应的对象直接返回
不在这个范围内 return new Integer(i)
目的 1.节省空间 2.速度快

ArrayList构造一个初始容量为10的空列表
调用set(index,element);向ArrayList中设置元素时,一定要注意index必须要在size范围之内,不能越界

3. List的使用

  • boolean add(E e) 尾插 e void add(int index, E element) 将 e 插入到 index 位置

  • boolean addAll(Collection<? extends E> c) 尾插 c 中的元素 E

  • remove(int index) 删除 index 位置元素 boolean remove(Object o) 删除遇到的第一个
    o

  • E get(int index) 获取下标 index 位置元素 E set(int index, E element) 将下标
    index 位置元素设置为 element

  • void clear() 清空 boolean contains(Object o) 判断 o 是否在线性表中 int

  • indexOf(Object o) 返回第一个 o 所在下标

  • int lastIndexOf(Object o) 返回最后一个 o 的下标

  • List subList(int fromIndex, int toIndex) 截取部分 list

Arraylist动态顺序表— 底层结构 连续空间
缺陷: 插入删除任意位置元素效率低
ArrayList可以当成二维数组来使用
LinkedList 双向链表—底层结构:链式结构
优势:在任意位置插入删除元素效率高
缺陷:访问任意位置的元素,Q( N)
ArrayList() 无参构造
ArrayList(Collection<? extends E> c) 利用其他 Collection 构建 ArrayList
ArrayList(int initialCapacity) 指定顺序表初始容量
LinkedList( )无参构造

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值