1. 集合整体框架
单列集合 Collection 接口
List 存储有序(有索引)接口 可以存储重复值
ArrayList 数组
Vector 数组
LinkedList 链表
Set 存储无序 (没有索引) 接口 不可以存储重复值
HashSet 哈希表结构
TreeSet 二叉树结构
双列集合 Map 接口
HashMap 哈希表结构
TreeMap 二叉树结构
2. 数组和集合对比区别:
<1> 存储数据类型的区别:
数组: 可以存放引用数据类型,也可以存放基本数据类型。
集合: 只可以存放引用数据类型,
存储基本数据类型的时候也自动装箱成引用数据类型。
<2> 开辟空间大小的区别
数组: 开辟空间的大小是 固定的。
集合: 开辟空间大小,随着你存放元素的多少自动改变。
<3> 数组和集合的存储数据统一性区别
数组: 只可以存储定义的数据类型的数据。
集合: 如果没有特别规范类型,理论上什么类型的数据都可以添加。
3. 单列集合 Collection 中常见的方法:
给集合添加数据的方法: add()
给集合移除数据的方法: remove()
判断集合是否为空的方法: isEmpty()
判断集合是否包含某个元素的方法: contains();
清空集合的内容 clear()
查询集合的长度 : size()
把集合转化为数组的方法:toArray()
获取指定索引的元素 get(索引值)
4.练习,集合存储引用数据类型。Person类对象
package com.andy.test2;
import java.util.ArrayList;
import java.util.List;
/**
-
给集合添加数据的方法: add()
给集合移除数据的方法: remove()
判断集合是否为空的方法: isEmpty()
判断集合是否包含某个元素的方法: contains();
清空集合的内容 clear()
查询集合的长度 : size()
把集合转化为数组的方法:toArray()
获取指定索引的元素 get(索引值)
*/
public class Test2 {
public static void main(String[] args) {
List list = new ArrayList(); //创建list 集合对象。
Person sanfeng = new Person(“张三丰”,120);
list.add(sanfeng);
list.add(new Person(“悟空”,600));
list.add(new Person(“陈抟老祖”,800));
list.add(new Person(“伏羲”,1000));list.remove(2); //填写删除对象的引用,或者所在索引。 // list.clear(); //清空集合中所有的元素。 System.out.println(list.isEmpty()); //判断集合中是否为空。 System.out.println(list.contains(sanfeng)); //判断是否包含某个元素 System.out.println(list.size()); //获取集合长度 // System.out.println(list.get(2)); //通过索引获取某个元素。 for (Object object : list) { //forech Person p = (Person)object; System.out.println(p.getName()+"-----"+p.getAge()); } //把集合转化为数组。list.toArray(); ctrl+2 +l Object[] array = list.toArray(); for (Object o : array) { Person p = (Person)o;