ArrayList 添加,可以添加重复(一样)的数据,集合的长度 size() 数组的长度 数组名.length属性
list.get(下标) 通过集合下标获取集合中每个值
集合的删除 针对非int类型,集合的删除 int类型 如果删除传入int类型,会默认为集合的下标
如果一定要删除int类型的值,那么必须使用封装类
集合的修改 list.set(下标,新的值)=list.set(0, 222);用 .set
set接口下的集合特点
? 1.没有下标
? 2.无序的
? 3.不能重复(覆盖)
List接口下的特点
1.都是有序的(按照添加的顺序获取)
2.都有下标
3.可以重复
集合指定位置添加,添加不能超出原来集合的最大长度
查找集合中的某个值indexOf,lastIndexOf 返回指定数据第一次被查找到在集合中的下标,如果没有找到返回-1,找到返回true,否则false
判断集合是否为空 System.out.println(list.isEmpty()); System.out.println(list.size());
清空集合中所有的元素 list.clear();
ArrayList 和Vector有什么区别?
ArrayList的方法和实现基本上和Vector一样,底层都是数组的实现
但是Vector的方法都是线程安全的,ArrayList没有考虑线程的问题
ArrayList在一些算法上做了优化,效率更高
ArrayList 和 LinkedList区别
1.ArrayList底层是数组的实现,LinkedList底层是链表的实现
1.1 在java中链表就是自己实现了一个类,在类中记录了前一个和后一个的地址
每次查找都需要找到前一个或者后一个才能往前或者往后找到
2.ArrayList查找速度快,但是删除和插入的速度慢
3.LinkedList删除和插入的速度快,但是查询速度较慢
4.LinkedList有自己独有的addFirst addLast removeLast removeFirst的方法
通过迭代器打印linkedList
Iterator it = linkedList.iterator();
?
while(it.hasNext()) {
Object obj = it.next();
System.out.println(obj);
}
增强for循环(foreach循环)
for(Object obj : set) {
? System.out.println(obj);
? }
迭代器 Iterator
Iterator it = set.iterator();
? while(it.hasNext()) {
? Object obj = it.next();
? System.out.println(obj);
? }
List<Student> 尖括号里面的是 数据类型!
基本数据类型的泛型集合,必须使用包装类
Comparable 一般直接用实体类,直接实现Comparator接口
Comparator 用Comparator 两个参数,另外写一个实现类
Collection 集合的接口
Collections 集合的工具包
原文:https://www.cnblogs.com/ArrayStoreException/p/11991639.html