文章目录
1.数组的特点以及集合框架的体系介绍
1.1数组的特点
1.数组一旦初始化,长度就是确定的
2.多个元素依次精密排列
3.数组内部的元素类型都是一致的
1.2Java集合框架体系(java.util包3下)
java.util.Collection:存储一个一个的数据
子接口:
List:存储有序的、可重复的数据
(动态数组)(ArrayList,LinkedList,Vector)
子接口:Set存储无序的,不可重复的数据
(HashSet, LinkedHashSet, TreeSet)
java.util.Map:存储一对一对的数据
HashMap, LinkedHashMap,TreeMap,Hashtable,properties
1.3 Collection中的相关学习
1.集合与数组的相互转换
集合 ----> 数组:toArray()
数组 ----> 集合:调用Arrays的静态方法asList(Object … objs)
2.向Collection中的相关方法在使用时,要调用元素所在类的equals()
3.迭代器的作用?
遍历集合中的元素
4.增强for循环的使用(foreach)
作用:遍历集合和数组
Collection coll = new ArrayList();
coll.add("AA");
coll.add("BB");
Person p1 = new Person("Tom", 12);
coll.add(p1);
for(Object obj : coll){
sout(obj);
}
1.4 List接口与实现类的使用
List接口存储数据的特点:用于存储有序的,可以重复的数据---->用List代替数组,动态数组
public class ListTest {
@Test
public void test() {
List list = new ArrayList();
list.add("AA");
list.add(123); // 自动装箱
list.add("BB");
list.add(new Person("Tom", 12));
System.out.println(list);
list.add(2, "CC");
System.out.println(list);
List list1 = Arrays.asList(1, 2, 3);
// list.addAll(1, list1);
list.add(1, list1); // 将list1整体作为一个元素插入
System.out.println(list);
}
}
1.5 Set接口的学习
用于存储无序的,不可重复的数据(第一次无序,不是随机性)
一般用来过滤重复数据
HashSet/LinkedHashSet()需要重写equals和hashset方法
使用方式
public class SetTest {
@Test
public void test() {
Set set = new HashSet();
set.add("AA");
set.add(123);
set.add("BB");
set.add(new Person("Tom", 12));
Iterator iterator = set.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
1.6TreeSet学习
TreeSet在添加元素得时候,必须添加得是同一种类型的元素,比如字符串,数字
1.7Map学习
1.map及其实现类对比
java.util.Map包下:存储键值对数据
主要实现类
HashMap,它有个子类LinkedHashMap
HashMap同级别下还有,TreeMap,Hashtable
Hashtable有个子类Properties