java list使用总结

0. 前言

预防好久不碰java之后连list都不会用了。

1. 基本语法

1.1 声明一个list

一般我用以下方式声明一个list

List<Integer> list0 = new ArrayList<>();

List为父类,ArrayList为子类,<Integer>为List中的元素类型,list0为对象名。ArrayList<>中的尖括号不用声明元素类型,会自动补全。这种方式是使用子类对象去定义一个父类对象。
另外List还有LinkList,从名字可以看出ArrayList是通过数组实现的,而LinkList是使用链表实现的。

1.2 获取list中的元素个数

int len = list0.size();

1.3 添加、删除、获取元素

list0.add(n);			// 在末尾添加一个元素n
list0.remove(i);		// 删除索引为i的元素
int num = list0.get(i);	// 获取索引为i的元素

2. 使用实例

2.1 杨辉三角

题目见力扣
示例:

输入: 5
输出:
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

上代码

class Solution {
    public List<List<Integer>> generate(int numRows) {
    	// 创建一个元素为List<Integer>的List
        List<List<Integer>> res = new ArrayList<>();
        // 创建一个元素为Integer的List
        List<Integer> list0 = new ArrayList<>();
        list0.add(1);
        res.add(list0);	// 结果中添加[1]
        if(numRows == 1) return res;
        List<Integer> list1 = new ArrayList<>();
        list1.add(1);
        list1.add(1);
        res.add(list1); // 结果中添加[1,1]
        for(int i = 2; i < numRows; i++){
            List<Integer> listn = new ArrayList<>();
            listn.add(1);
            for(int j = 0; j < list1.size()-1; j++){
            	// 获取上行的第j和第j+1个元素
            	// 基于上一行获取当前行的元素
                listn.add(list1.get(j)+list1.get(j+1));
            }                                                                                                                                                                                                                                                                             
            listn.add(1);
            res.add(listn); // 结果中添加第n行
            list1 = listn;	// 保存当前行
        }
        return res;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Fourier_1024

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

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

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

打赏作者

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

抵扣说明:

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

余额充值