集合框架中整体的架构分为2类:Collection接口 和 Map接口
Collection接口:用于存储单个对象的
典型的实现类:
List--->ArryList LinkedList
Set--->HashSet ThreeSet
Map接口:用于存储K-V键值对双对象的
典型的实现类:
HashMap
一、ArrayList
1.1、简介
数据存储:底层采用的是数组,但是采用的Object类型的数组,因此可以存储任意数据类型。
同时add方法中有自动扩容机制,因此可以存储任意多个数据。
常用的方法:
add() 添加元素
get(index) 获取指定位置的元素,如果下标超过容量则报异常
size() 获取元素的个数
addAll(Collection) 2个集合的合并
数组遍历
普通for循环
for(int i = 0;i<list.size();i++){
System.out.println(list.get(i));
}
增强for循环
for(Object o:list){
System.out.println(o);
}
使用迭代器
for(int i = 0;i<list.size();i++){
System.out.println(list.get(i));
}
//增强for循环
for(Object o:list){
System.out.println(o);
}
二、HashSet
2.1、简介
1、可以存储任意类型任意多个数据,但是Set中的数据不允许重复【会自动去除重复数据】
2、list数据是有序的,set是无序的 【存入的顺序跟取出来的顺序可能不一致】
//关于数据是否能重复的问题 list和set对比
ArrayList