0
点赞
收藏
分享

微信扫一扫

Java基础(十三)

時小白 2022-03-12 阅读 35

目录

一.泛型

1.1 泛型方法与可变参数

二.容器

2.1 单例集合的使用

2.1.1 Collection接口介绍

2.2 List接口介绍

2.3 ArrayList容器类

2.4 Vector容器类


一.泛型

1.1 泛型方法与可变参数

在泛型方法中,泛型也可以定义可变参数类型。

语法结构:

public <泛型表示符>void showMag(泛型表示符 ... args){

}

//泛型方法定义可变参数
    public <T> void m(T...args){
        for (T t:args){
            System.out.println(t);
        }
    }

 text t1=new text();
        String[] arr=new String[]{"a","b","c"};
        t1.m(arr);

二.容器

单例集合:将数据一个一个的进行存储。

双例集合:基于Key与Value的结构存储数据。

 

2.1 单例集合的使用

2.1.1 Collection接口介绍

Collection是单例集合根接口,两个子接口是List,Set接口。

Collection接口中的抽象方法:

2.2 List接口介绍

特点:有序,可重复。

常用方法:

2.3 ArrayList容器类

ArrayList容器类是List接口的实现类,是List储存特征的具体实现。

ArrayList使用数组实现的储存。

1 添加元素

public class textRongqi {
    public static void main(String[] args) {
    //实例化ArrayList容器类
        List<String> l1=new ArrayList<>();
        //添加元素
        boolean f1=l1.add("a");
        System.out.println(f1);
        l1.add(0,"b");
        System.out.println(l1);

    }
}

2 获取元素

System.out.println(l1.get(0));
        System.out.println(l1.get(1));

3.删除元素

String v1=l1.remove(1);//返回被删除的元素
        System.out.println(v1);
        for (String l:l1){
            System.out.println(l);
        }
    }

4.删除指定元素

l1.add("c");
        l1.add("d");
        boolean f2=l1.remove("c");//返回true
        System.out.println(f2);
        boolean f3=l1.remove("e");//没有该元素,返回false
        System.out.println(f3);
        for (String l:l1){
            System.out.println(l);//容器里还有b,d
        }

5.替换元素

 //替换元素
        String v2=l1.set(0,"a");//返回被替换的元素b
        System.out.println(v2);
        for (String l:l1){
            System.out.println(l);//容器里还有a,d
        }

6.清空容器

//清空容器
        l1.clear();
        System.out.println(l1.size());//变为0

7.判断容器是否为空

 //判断容器是否为空
        boolean f4=l1.isEmpty();
        System.out.println(f4);//返回true

8.判断容器中是否包含指定元素

//判断容器里是否包含指定元素
        l1.add("a");
        l1.add("b");
        l1.add("c");
        boolean f5=l1.contains("a");
        boolean f6=l1.contains("f");
        System.out.println(f5);//返回true
        System.out.println(f6);//返回false

9.查找元素的位置

9.1 查找元素第一次出现的位置

//查找元素第一次出现的位置
        l1.add("a");
        int i1=l1.indexOf("a");
        System.out.println(i1);//返回0

9.2 查找元素最后一次出现的位置

//查找元素最后一次出现的位置
        int i2=l1.lastIndexOf("a");
        System.out.println(i2);//返回3

10. 将单例集合转换为数组

10.1 转换为Object数组

//将单例集合转换为Object数组
        String[] arr1=(String[]) l1.toArray();
        for (int i=0;i<arr1.length;i++){
            System.out.println(arr1[i]);
        }//报错

原因:做强制转换的时候需要将元素一个一个转,不可以把数组里面的元素全部做强制转换

//将单例集合转换为Object数组
        Object[] arr1=l1.toArray();
        for (int i=0;i<arr1.length;i++){
            String str=(String) arr1[i];
            System.out.println(str);//返回a,b,c,a
        }

 将元素一个一个转换。

10.2 将单例集合转变为指定类型的数组

//将单例集合转变为指定类型的数组
        String[] arr2=l1.toArray(new String[l1.size()]);//不做强制转换,给数组开辟空间
        for (String a:arr2){
            System.out.println(a);
        }

11.容器的交集操作

//容器的交集操作
        List<String> l2=new ArrayList<>();
        l2.add("c");
        l2.add("d");
        boolean b1=l2.retainAll(l1);//有相等的元素,返回true
        System.out.println(b1);

12 容器的差集操作

 //容器的差集操作
        List<String> l3 = new ArrayList<>();
        List<String> l4 = new ArrayList<>();
        l3.add("a");
        l3.add("b");
        l3.add("c");
        l4.add("a");
        l4.add("b");
        boolean bb1 = l3.removeAll(l4);
        System.out.println(l4);//返回被移走的元素[a,b],相差的元素
        for (String a : l3) {
            System.out.println(a);//返回c
        }

2.4 Vector容器类

Vector的使用和ArrayList是相同的,因为他们都实现了List接口,对List接口中的抽象方法做了具体实现。

 //实例化Vector
        List<String> list1=new Vector<>();
        list1.add("doudou");
        list1.add("weibin");
        for (int i=0;i<list1.size();i++){
            System.out.println(list1.get(i));
        }
举报

相关推荐

0 条评论