集合-List实现类、泛型
来源:互联网 发布:淘宝店突然没生意了 编辑:程序博客网 时间:2024/06/04 17:47
一、
常见的数据结构
栈
先进后出
队列
先进先出
数组
查询快、增删慢
链表
查询慢、增删快
二、List的三个儿子
ArrayList、Vector、LinkedList
ArrayList:
底层数据结构是数组,查询快、增删慢。
线程不安全,效率高。
存储字符串和自定义对象:需要重写equals。
A:判断是否为同一个对象
if(this==obj){return true;}
B :判断是否为该类的对象
if(!(obj instanceOf Student)){return false;}
C:向下转型,然后根据需求比较成员变量
Student s =(Student)obj;
return this.name.equals(s.name) && this.age == s.age;
遍历:迭代器、增强For、普通For+get
Vector:
底层数据结构是数组,查询快、增删慢。
线程安全,效率低。
LinkedList:
底层数据结构是链表,查询慢,增删快。
线程不安全、效率高。
LinkedList模拟栈数据结构(先进后出)
LinkedList<Object>ll
定义public void add(Object obj){ll.addFirst()}
定义public Object get(int i){ll.get(i)}
定义public int size(){return ll.size()}
使用:
是否安全?
Y:Vector
N:ArrayList、LinkedList——查询多:ArrayList(不知道也用)
增删多:LinkedList
三、泛型
一种把明确类型的工作放在了创建对象或者调用方法时候去明确的特殊类型
格式:<格式类型>
优点:
A,解决了黄色警告线问题;
B,把运行期间的转换异常给提前到了编译时期;
C,优化了程序设计,不需要做强制类型转换了。
泛型的使用:看API的;类或者接口,其后是否跟着<>,如果有,就是泛型的应用。一般在集合中用。
四、增强For循环
格式:
for(数组或者Collection集合的元素类型变量:数组或者Collection集合的对象){
直接使用变量即可
}
优点:方便了数组和Collection集合的遍历。
注意:
A,不要在增强for循环遍历集合的时候,用集合对集合本身进行修改
B,增强for循环是用来代替迭代器的。
- 集合-List实现类、泛型
- 第十六天:集合-List实现类、泛型
- 集合:List实现类ArrayList
- 集合:List实现类Vector
- 集合:List实现类LinkedList
- 黑马程序员——Collection集合、List实现类、泛型
- 集合之List子实现类
- List 集合分页实现
- List集合底层实现
- [集合框架] List 实现
- List 集合分页实现
- List集合 简单函数实现
- Java集合&List的实现
- Java实现List集合排序
- List集合实现自定义排序
- sharedPreference保存List集合实现
- List集合设计与实现
- 用list集合实现栈
- maven导出项目依赖的jar包
- 深入浅出LSTM神经网络
- CentOS、Ubuntu、Debian三个linux比较异同
- 程序员如何高效阅读
- 有选择性的安装文件
- 集合-List实现类、泛型
- LightOJ(1422)——Halloween Costumes
- ActionBar的完整介绍
- LeetCode-Interleaving String
- Set类、Collections
- HDU 1024 Max Sum Plus Plus(最大M子段和)
- 安卓国际化,应用内切换语言
- 微信支付-----统一下单action
- 作业《IOS_C语言》进制,C数据类型,常量类型,运算符,表达式,格式化输入输出