一、java集合框架的概述
集合的概念
集合和数组都是对多个数据的存储操作的结构,简称java容 器。主要指内存层面(无法持久化的存储)
数组的相关缺点:一旦初始化,长度无法改变、数组中提供的方法非常有限、对于无序不可重复的排序无法满足。
集合的体系
Collection接口:单列数据,定义了存取一组对象的方法的集合
List:元素有序、可重复的集合-----动态数组
|----ArrayList、LinkedList、Vector
Set:元素无序、不可重复的集合-----高中的集合
|----HashMap、LinkedHashMap、TreeMap...
Map接口:双列数据,保存具有映射关系“key - value对”的集合-----y=kx函数差不多
二、Collection接口方法
以上就是Collection的基本所有方法
但是
list.add()方法底层数组中创建的数组长度是10的Object[ ]数组,一般情况下容量是不够用的,那么就需要扩容。因此推荐用的构造器为new ArrayList(int length);在其中自定义长度
三、Iterator迭代器接口
//迭代器一般用做遍历操作
class Collection{
public static void main(String[] arg){
ArrayList<String> list = new ArrayList<>();
list.add("dada");
list.add("baba");
list.add("xaxa");
list.add("zaza");
list.add(2,"cece");
list.remove("xaxa");
list.remove(2);
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
迭代器一般就是用来循环输出,它的相关方法为:
四、Collection子接口一:List
分为三种:
ArrayList
作为List接口的主要实现类,线程不安全的,但是效率高;底层用的是Object [ ]数组存储
LinkedList
对于频繁的使用插入,删除操作的,使用此类效率比ArrayList效率高;他的底层使用的是双向链表
Vector
作为List的最古老的实现类,他的线程是最安全的,但是他的的效率也是最低的,底层使用的是Object [ ]数组存储
list接口的方法继承了Collection的所有的方法之外,他还有自己的方法
总结一下我们使用List接口常用的方法一般就是增删查改插入遍历...