Java - 集合

Java - 集合_第1张图片
Java - 集合_第2张图片

开篇

数组和集合对比

数组的不足:

1、长度开始时必须指定,而且一旦指定,不能修改,灵活性不够

2、保存的必须为同一类型的元素

3、使用数组进行增删元素的方法比较麻烦

Java - 集合_第3张图片

集合

1、可以动态的保存任意多个对象

2、提供一系列操作对象的方法: add、remove、set、get等

3、使用集合添加、删除新元素更加方便

集合的框架体系

集合主要有两组

单列集合

Collection 接口有两个重要的子接口,List 和 Set ,他们实现的子类都是单列集合

Java - 集合_第4张图片

双列集合

Map接口的实现子类,是双列集合,存放形式为 K-V

Java - 集合_第5张图片

Collection接口实现类的特点

1、Collection实现子类可以存放不同类型的元素,即每个类型都可以是Object

2、有些Collection的实现类,可以存放重复的元素,有些不可以

3、有些Collection的实现类,是有序的(List),而有些是无序的(Set)

4、Collection接口没有直接的实现子类,是通过他的子接口set和list来实现的

常用方法

Java - 集合_第6张图片

package com.zhang;

import java.util.ArrayList;
import java.util.List;

public class collection_ {
    public static void main(String[] args) {
        List list = new ArrayList();

        // 添加单个元素, 添加的每个元素都是包装类对象
        list.add("jack");
        list.add(10); // -> list.add(new Integer(10))  -> list.add(Integer.valueOf(10));
        list.add(true); // list.add(new Bol)
        System.out.println(list);
        System.out.println(list.get(2).getClass());

        // 删除指定的元素, 返回删除的对象
//        System.out.println(list.remove(0));  // 删除第一个元素, 按照下标删除
        //按照值删除,删除jack这个元素,
        // 如果存在,则删除对应元素,返回true
        // 如果有多个该元素,则默认删除第一个
        // 如果没有,则返回 false
        System.out.println(list.remove("sdjack"));
        System.out.println("删除元素"+ list);

        // contains 查找元素是否存在
        System.out.println(list.contains(true));  // T
        System.out.println("list是否包含数字10: " + list.contains(10));

        // size: 获取元素个数
        System.out.println("list集合元素个数: " + list.size());

        // isEmpty :  是否为空
        System.out.println("判断list集合是否为空: " + list.isEmpty());

        // clear: 清空
//        list.clear();
//        System.out.println("清空list集合: " + list);

        // 添加多个元素
        list.addAll(list);
        System.out.println("添加多个元素" + list);

        //判断多个元素是否存在,必须是全部存在,才返回true,否则返回false
        ArrayList arrayList = new ArrayList();
        arrayList.add("jack");
        arrayList.add(10);
        arrayList.add(23);

        System.out.println("判断多个元素是否存在" + list.containsAll(arrayList));
        System.out.println(list);

        // removeAll 一次性删除多个元素,哪个对象对应上,就删除哪个,而且是不论重复的个数,全部删除
        list.removeAll(arrayList);
        System.out.println("删除多个后的数据为:" + list);

    }
}

你可能感兴趣的:(java)