集合 框架

1.1 目录

1. 为什么要使用框架?

2. 集合架构有哪些?

3. List集合

4. ArrayList集合

5. LinkedList集合

6. Set集合

7. HashSet集合

8. TreeSet集合

9. Map

10. HashMap集合

11. TreeMap集合

1.2 为什么使用集合?

1.数组的缺陷;

        定容:一单数组定义好,它们的长度就无法改变。(如果需要改变长度会很麻烦)

2. 我们可以定义一个长度可以改变的容器。

例:可变容器,MyArray04类 可变容器

public class MyArray04 {
    private Object[] arr;
    private int size;
    public MyArray04(){
        this(3);
    }
    public MyArray04(int size) {
        if (size < 0){
            throw new RuntimeException("数组长度有误");
        }
        arr = new Object[size];
    }
    public void addData(Object a){
        if (size >= arr.length){
            Object[] newArr = Arrays.copyOf(arr , size * 2);
            arr = newArr;
        }
        arr[size] = a;
        size++;
    }
    public Object setData(int b ){
        if (b > arr.length ||b < 0){
            throw new ArrayIndexOutOfBoundsException("长度有误");
        }
        Object c = arr[b];
        return c;
    }
}

ArratTest测试类 

public class ArrayTest {
    public static void main(String[] args) {
        MyArray04 myArray04 = new MyArray04();
        myArray04.addData("java01");
        myArray04.addData("java02");
        myArray04.addData("java03");
        myArray04.addData("java04");
        myArray04.addData("java05");
        myArray04.addData("java06");
        myArray04.addData("java07");
        Object a = myArray04.setData(2);
        System.out.println(a);
    }
}

1.3 集合的框架

1.4  List集合ArrayList类

 1.4.1 创建数组

List list = new ArrayList();//创建数组,如果不指定长度则为10

1.4.2添加操作

//添加操作,可以添加任何类型
        list.add("java01");
        list.add("java02");
        list.add("java03");
        list.add("java04");
        list.add("java05");
        list.add(1,"刘德华");//在下标为一的位置添加数据
        list.add(new Date());//添加时间数据

        //创建新数组,准备添加数组
        List list1 = new ArrayList();
        list1.add("刘德华01");
        list1.add("刘德华02");

        list.add(list1);//添加list1数组
        System.out.println(list);

1.4.3删除操作

 //删除操作
        list.remove(1);//删除下表为1的数据
        System.out.println(list);
        list.clear();//清空数组
        System.out.println(list);

1.4.4修改操作

 //修改操作
        list.set(1,"刘德华");//将下标为1的数据修改为刘德华
        System.out.println(list);

1.4.5 查找操作

//查找操作
        System.out.println(list.get(1));//查找下标为1的元素,
        System.out.println(list.size());//获取数组长度
        System.out.println(list.contains("java03"));//判断java03这个元素是否在其中
        System.out.println(list.indexOf("java03"));//判断java03元素第一次出现的位置
        //foreach遍历
        for (Object a : list){
            System
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值