萌新的Java入门日记06

容器   是一个集合

之前学过的容器是:数组

弊端:只能存指定数据类型   数组的长度不可改变

List   Set   Map

List  接口

实现类:ArrayList    LinkedList    Vector

参数传对象,删除这个对象。返回  Boolean

参数传下标,

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

public class EList {
    public static void main(String[] args) {
        System.out.println("Hello World!");
        List list = new ArrayList();
        list.add("A");
        list.add("B");
        list.add("C");
        list.add("D");

        list.add(null);
        list.add(114514.1919810);
        list.add("?");
        list.add("?");

        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        System.out.println("--------------------");

        Object o = list.get(0);
        System.out.println(o);
        System.out.println(list);
        System.out.println("--------------------");
        //在指定地点插入元素
        list.add(1,123312312);
        System.out.println(list);

        //替换

        list.set(2,"BBBB");
        System.out.println(list);
        System.out.println("--------------------");
        //删除
        list.remove(2);
        System.out.println(list);
        System.out.println("--------------------");
        //删除指定元素
        list.remove("A");
        System.out.println(list);
        System.out.println("--------------------");
        //删除指定位置的元素
        list.remove(1);
        System.out.println(list);
        System.out.println("--------------------");
        //删除所有元素
        //list.clear();
        //System.out.println(list);
        //System.out.println("--------------------");
        //判断是否包含某个元素
        System.out.println(list.contains("A"));
        System.out.println(list.contains(123312312));
        System.out.println(list.contains(null));
        System.out.println("--------------------");
        //判断是否为空
        System.out.println(list.isEmpty());
        System.out.println("--------------------");
        //删除找到的第一个元素
        list.add("B");
        list.add("B");
        list.add(3,"B");
        System.out.println(list);

        list.remove("B");
        System.out.println(list);

        System.out.println("--------------------");

        for(int i=0;i<list.size();i++){
             System.out.println(list.get(i));
        }

        System.out.println("--------------------");

        for(Object item:list){
            System.out.println(item);
        }
        System.out.println("--------------------");

        Iterator it= list.iterator();//获取了一个迭代器

        while (it.hasNext()){
            System.out.println(it.next());

        }
        //ArrayList扩容方式    初始容量10
        //扩容  1.5倍










    }
}

ArrayList 和inkedList性能比较

ArrayList 是通过数组存储数据的   查找数据非常快

LinkedList查找速度慢,通过双向检索的方式优化检索速度

ArrayList插入和删除慢

LinkedList插入和删除快

ArrayList 扩容方式

初始容量: 10
扩容 1.5倍
可以自己设置容量大小: ArrayList list=new ArrayList<>(50);

LinkedList:

双向检索:存储数据方式不同  链表

public class EB {


    static {
        //静态代码块   一个类的静态代码块只会执行一次
        //加载类对象时执行
        System.out.println("屎 静态代码块");
    }

    {
        //成员代码块
        //成员代码块在构造方法之前运行

        System.out.println("屎 成员代码块");
    }

    EB(){
        System.out.println("构造方法");
    }



    EB(int num){
        System.out.println("带参数的构造方法");
    }

    public static void main(String[] args) {


        new EBSON();



    }


}


//**************************



class EBSON extends EB {

    static {
        //静态代码块   一个类的静态代码块只会执行一次
        //加载类对象时执行
        System.out.println("son屎 静态代码块");
    }

    {
        //成员代码块
        //成员代码块在构造方法之前运行

        System.out.println("son屎 成员代码块");
    }

    EBSON(){
        System.out.println("son构造方法");
    }



    EBSON(int num){
        System.out.println("son带参数的构造方法");
    }

    public static void main(String[] args) {

        new EB();
        new EB(12);



    }


}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Black__Emperor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值