前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据必学Java基础(五十四):List接口深入了解

大数据必学Java基础(五十四):List接口深入了解

原创
作者头像
Lansonli
发布2022-09-27 07:55:43
4280
发布2022-09-27 07:55:43
举报
文章被收录于专栏:Lansonli技术博客

​ List接口深入了解

一、List接口的常用方法和遍历方式

代码语言:javascript
复制
package com.lanson.test01;

import com.sun.org.apache.xerces.internal.dom.PSVIAttrNSImpl;

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

/**
 * @author : lanson
 */
public class Test03 {
    //这是main方法,程序的入口
    public static void main(String[] args) {
        /*
        List接口中常用方法:
        增加:add(int index, E element)
        删除:remove(int index)  remove(Object o)
        修改:set(int index, E element)
        查看:get(int index)
        判断:
         */
        List list = new ArrayList();
        list.add(13);
        list.add(17);
        list.add(6);
        list.add(-1);
        list.add(2);
        list.add("abc");
        System.out.println(list);
        list.add(3,66);
        System.out.println(list);
        list.set(3,77);
        System.out.println(list);
        list.remove(2);//在集合中存入的是Integer类型数据的时候,调用remove方法调用的是:remove(int index)
        System.out.println(list);
        list.remove("abc");
        System.out.println(list);

        Object o = list.get(0);
        System.out.println(o);

        //List集合 遍历:
        //方式1:普通for循环:
        System.out.println("---------------------");
        for(int i = 0;i<list.size();i++){
            System.out.println(list.get(i));
        }
        //方式2:增强for循环:
        System.out.println("---------------------");
        for(Object obj:list){
            System.out.println(obj);
        }
        //方式3:迭代器:
        System.out.println("---------------------");
        Iterator it = list.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }


    }
}

二、ArrayList实现类(JDK1.7)

【1】在idea中切换JDK的方法

【2】ArrayList实现List接口的失误

集合创始人承认了这个失误,但是在后续的版本中没有删除,觉得没必要

【3】底层重要属性

在JDK1.7中:在调用构造器的时候给底层数组elementData初始化,数组初始化长度为10

对应内存

调用add方法

代码语言:javascript
复制
ArrayList al = new Array
System.out.println(al.add("abc"));
System.out.println(al.add("def"));

当数组中的10个位置都满了的时候就开始进行数组的扩容,扩容长度为 原数组的1.5倍

三、ArrayList实现类(JDK1.8)

【1】JDK1.8底层依旧是Object类型的数组,size:数组中有效长度

【2】ArrayList al = new ArrayList();调用空构造器

【3】add方法

四、Vector实现类

【1】底层Object数组,int类型属性表示数组中有效长度

【2】Vector v=new Vector();调用构造器

【3】add方法

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ​ List接口深入了解
    • 一、List接口的常用方法和遍历方式
      • 二、ArrayList实现类(JDK1.7)
        • 三、ArrayList实现类(JDK1.8)
          • 四、Vector实现类
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档