集合的解释

前情回顾

继承、封装、多态

封装

其实就是把属性或方法加上私有化修饰符来修饰。private来修饰。

继承

关键字:extends。

子类继承父类。

父类中非私有化的属性和方法可以被子类直接调用。

父类作为类型被指定,使用子类new的话,父类相当于模板。

子类重写了父类中的方法,想要调用被重写前的父类的方法需要使用super。

父类中private修饰的属性和方法不被继承。

多态

重写和重载

重写,子类继承父类并且写了跟父类一模一样的方法,这时候子类的这个方法就叫做重写了父类的方法。

重载,同一个类中方法名一样但参数不同就是重载。

本章内容

Java中常说的集合,一般是指常见的三个接口:List、Set、Map

List接口继承于Collection接口,Collection接口继承于 Iterable接口

Set接口继承于Collection接口,Collection接口继承于 Iterable接口

Map接口谁都不继承。

set和map遍历

长相上来说

List后跟了一个泛型、Set后跟了一个泛型、Map后跟了两个泛型。

ListSet是单列键值对,Map是双列键值对

List多是有ArrayLinked来实现,SetMap多是由HashTree来实现。

所以List是天生有序的,而SetMap是无序的。

Set 中的元素不重复。

Map是双列 key 、value,key跟set的特性类似不能重复。

注:集合中不能有基础类型,所有基础类型都是以包装类展示。

简单使用说明

泛型

占位符:一般是英文的大写字母。

类的后边用<>括着 或 写在方法上

/**
 * @author xing
 * 2021年9月22日下午5:38:26
 * @param <Q>
 * 写在类的后边
 */
public class ZHanWei<Q> {
            
    
        public  List<Q> set0(List<Q> list) {
            return list;
        }
            
        /**
         * @time: 2021年9月22日下午5:40:40
         * @auth: xing
         * @return:List<W>
         * @description:写在方法上
         */
        public  <W>  List<W> set2(List<W> list) {
            return list;
        }
        
}

Object 和 ?

Object也是一个类型,使用Object就相当于类型被指定为Object。

? 仅仅是相当于指定了一个未知类型可以被转换。

指定类型Object:

        public List<Object> set1(){
            List list = new ArrayList();
            list.add("123");
            list.add(new Integer(1));
            list.add(new User());
            return list;
        }

使用报错:

指定类型为 ?:

        public List<?> set2(){
            List list = new ArrayList();
            list.add("123");
            list.add(new Integer(1));
            list.add(new User());
            return list;
        }

使用时只需要强制转型:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值