5.3 泛型集合
使用理由:有时候在创建编译阶段,并不能确定实际数组需要有多大,我们需要一个大小随着容量变化而增长的不定长数组。ArrayList 就是这样一个数组。
ArrayList<Employee> list = new ArrayList<>();
其中尖括号标识泛型类,表示它实际的类型,注意泛型功能,JDK1.5 以前是没有的。
5.3.1 访问数组列表元素
因为不直接使用数组,需要使用set/add和get的方式对数据进行存和取其中add代表追加到末尾,set代表指定索引覆盖元素。
public class Main {public static void main(String[] args){
Main solution = new Main();
ArrayList<A> list = new ArrayList<>();
list.add(solution.new A(0));
list.add(solution.new A(1));
list.set(0,solution.new A(3));
for(A a:list){
System.out.println(a);
}
for(int i = 0; i < list.size(); i++){
A a = list.get(i);
System.out.println(a);
}
list.ensureCapacity(100);//扩容,最少100
list.trimToSize();//去掉多余空间
}
class A{
int id;
public A(int id){
this.id = id;
}
@Override
public String toString() {
return "A{" +
"id=" + id +
'}';
}
}
}
5.3.2 泛型和兼容性
泛型格式:<T>,尖括号中间加类型
用途:
系列内容:
《Java 核心技术 卷1》 笔记:第一章 Java程序设计概述
《Java 核心技术 卷1》 笔记:第二章 Java程序设计环境
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(1)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(2)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(3)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(4)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(5)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(6)
《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(7)大数处理、数组、多维数组、控制台传参
《Java 核心技术 卷1》 笔记 第四章:类与对象
《Java 核心技术 卷1》 笔记 第四章:类与对象(2) GregorianCalendar 与 类的基本组成
《Java 核心技术 卷1》 笔记 第四章:类与对象(3) 构造器全局私有方法
《Java 核心技术 卷1》 笔记 第四章:类与对象(4) 静态字段+静态方法+工厂方法
《Java 核心技术 卷1》 笔记 第四章:类与对象(5) 形参与实参 构造器的默认值与默认构造
《Java 核心技术 卷1》 笔记 第四章:类与对象(6) 构造器调用与初始化块
《Java 核心技术 卷1》 笔记 第四章:类与对象(7) 注释、JavaDoc与类设计
《Java 核心技术 卷1》 笔记 第五章 继承
《Java 核心技术 卷1》 笔记 第五章 继承(2)
《Java 核心技术 卷1》 笔记 第五章 继承(3)
《Java 核心技术 卷1》 笔记 第五章 继承(4)equals方法
《Java 核心技术 卷1》 笔记 第五章 继承(5)hashCode 与 toString
喜欢的话,点个赞吧~!平时做题,以及笔记内容将更新到公众号。
关注公众号,互相学习:钰娘娘知识汇总