**javaSE 集合框架**

javaSE 集合框架

最主要用于:增删改查 ArrayList list = new ArrayList();

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 集合的工具包

 

posted @ 2019-12-05 20:19  现在不晓得  阅读(129)  评论(0编辑  收藏  举报