集合框架之——List的使用

这篇文章只讨论关于List j集合的使用,Set和Map我将持续更新。。。
List 的继承关系

List 与数组很像,但是比数组更灵活。
ArrayList与LinkedList 在使用上是一样的,但是内在的结构不同,我在某站上听课时,一个讲师说,他们的方法一样,目的是为了让java的学习成本降低,不用记那么多。废话不多说,直接上使用方法

创建
在这里插入图片描述

List与数组的区别是:数据量可以动态变化。
集合就想象成一个容器,可以往里添东西 .add()

List ,存放的数据可重复,且有顺序

List转数组: .toArray()
在这里插入图片描述
ArrayList :底层就是Object 数组 查询很快,增删比 LinkedList很慢。
1.添加数据 集合对象名.add(实参)
在这里插入图片描述
2.删除数据 集合对象名.remove(下标) ; 集合对象名.remove(指定内容):注:需要给集合指定泛型
在这里插入图片描述
3.修改数据 : 集合对象名.set(下标,新值)
在这里插入图片描述
4.查询数据 : 单个查询: 集合对象名。get(下标)
在这里插入图片描述
遍历集合,三种方式:
在这里插入图片描述
第三种,慎用,太新了,如果要求兼容性好,就用第一种,健壮,不容易在别的机器上跑不起来

LinkedList: 底层是链表。增删很快,查询比ArrayList慢。

LinkedList 与ArrayList使用上完全相同,改一下 new 后面的 就好
eg: List book1List = new ArrayList();
List book1List = new LinkedList();
book1List 这个对象能使用相同的方法,区别就是底层结构的不同,不懂就看上面哈。

package com.java;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

/**
 * 泛型:给集合指定具体存放的数据类型,只能存放自定义数据类型
 */
public class Demo3 {
    public static void main(String[] args) {
        List<String> book1List = new LinkedList<String>();
        book1List.add("java从入门到放弃");
        book1List.add("cop从入门到放弃");
        book1List.add("ps从入门到精通");
        book1List.add("sm从入门到捆绑");

        // 将 list 复制
        List<String> book2List = new LinkedList<String>(book1List);

        book2List.forEach(temp->{
            System.out.println(temp);
        });
        System.out.println("-----------------------------");

        //将list集合转成数组
        Object [] obj = book1List.toArray(); //List转数组
        for(Object temp: obj){
            System.out.println(temp+"");//字符串加上任何数据类型都是字符串,牛啊! //数据类型转成字符串,直接加""就好
        }
    }
}

具体的方法以及方法的返回值啥请进入Oracle的官网查看APIhahhha,(向我一样英语不好的,就用google浏览器,直接翻译成中文就可以看懂了。)

sout :自己的笔记,随意看看,有问题留言,大家一起交流呀

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值