集合_小记

yellowone

关注

阅读 62

2023-04-12


集合是容器,用来储存数据。
之前用数组来存储对象,但是数据的长度是不变的,StringBuffer和StringBuilder的返回字符串类型不变,所以提出集合这个概念。

集合和数组的区别?
* 1)长度的区别:
* 数组:长度是固定的;
* 集合:长度是可变的
* 2)存储数据类型的区别:
* 数组:可以存储引用类型,可以存储基本数据类型
* 集合:只能存储引用类型
* 3)存储元素的区别
* 数组:在同一个数组中,只能存储同一种数据类型的元素;举例 数组:杯子:只能装水
* 集合:可以 存储多种数据类型的元素; 举例:集合:杯子:装水,其他饮料…

集合_小记_java

集合_小记_java_02

Collection: 表示一组对象,这些对象也称为 collection 的元素。

Collection的一些功能
* 添加功能:
* boolean add(Object e):给集合中添加指定的元素
* boolean addAll(Collection c):添加一个集合中的所有元素
* 删除功能:
* void clear():删除一个集合中的所有元素,暴力删除,(不建议使用)
* boolean remove(Object o):删除一个集合中的指定元素
* boolean removeAll(Collection c):删除一个集合中的所有元素
* 判断功能:
* boolean contains(Object o):判断一个集合中是否包含指定的单个元素
* boolean containsAll(Collection c):判断一个集合中是否另一个集合;思考:是包含一个元素算是包含还是包含所有.
* boolean isEmpty():判断集合是否为空,如果为空,则返回true
*
* 交集功能:
* boolean retainAll(Collection c):思考:A集合给B集合做交集,交集的元素去哪里?返回值boolean表达什么意思?
* 获取功能;
* int size():获取集合中的元素数
* Iterator iterator():迭代器
* 转换功能:
* Object[] toArray():将集合转换成数组

package day13_ZZbiaoda;

import java.util.ArrayList;
import java.util.Collection;

/**
 * @author Aoman_Hao
 */
public class Collection1 {

    public static void main(String[] args) {
        Collection c1 = new ArrayList();
        Collection c2 = new ArrayList();
        //添加,且永远返回true
        boolean flag = c1.add("TZRRY");
        c1.add("11");c1.add("22");c1.add("123");
        System.out.println("输出1:"+c1);
        //删除
        c1.remove("11");
        System.out.println("输出2:"+c1);
        c1.removeAll(c1);
        System.out.println("输出3:"+c1);
        System.out.println("///");

        c1.add("123");
        c2.add("TZRRY");
        c2.add("123");
        c2.add("TZR");
        //判断是否包含
        boolean flag2 = c2.contains("TZR");
        boolean flag3 = c2.contains("Aoman");
        //判断是否为空
        boolean flag4 = c2.isEmpty();             System.out.println("flag2:"+flag2+",flag3:"+flag3+",flag4:"+flag4);
        System.out.println("");

        boolean flag5 = c2.retainAll(c1);
        System.out.println(flag5+" "+c2);
    }

}
输出:
输出1:[TZRRY, 11, 22, 123]
输出2:[TZRRY, 22, 123]
输出3:[]
///////////////////////////
flag2:true,flag3:false,flag4:false
////////////////////////////
true [123]

boolean retainAll(Collection c):思考:A集合给B集合做交集,交集的元素去哪里?返回值boolean表达什么意思?–c2.retainAll(c1),交集的元素给c2,然后返回值返回true证明c2是变化的,返回值为false证明c2是不变的

Object[] toArray():将集合转换成数组

package day13_ZZbiaoda;

import java.util.ArrayList;
import java.util.Collection;

/**
 * @author Aoman_Hao
 */
public class CollectionDemo2 {

    public static void main(String[] args) {
        //创建Collection集合对象
        Collection c1 = new ArrayList();

        //
        c1.add("TZR");c1.add("123");c1.add("TZRRY");
        //.size()查看集合中元素个数
        int num = c1.size();
        System.out.println("集合中元素个数:"+num);
        //集合转换为数组
        Object[] array = c1.toArray();

        for(int i=0;i<array.length;i++){
            //元素及元素长度 方法1
//          System.out.println(array[i]+","+array[i].toString().length());
            //方法2   强制向下转型
            String s = (String) array[i];
            System.out.println(s+","+s.length());
        }
    }

}


精彩评论(0)

0 0 举报