JavaList

一、java各类关系

java中的List简单介绍_ninghuax的博客-CSDN博客_java list

使用List - 廖雪峰的官方网站

二、使用ArrayList

1、使用LIst

import java.util.ArrayList;
import java.util.List;List<String> list = new ArrayList<>();
LIst<Interger> list = List.of(1,2,3);

List.of()方法不接受null值,如果传入null,会抛出NullPointerException异常。

2、添加

list.add(E e);

3、遍历

list.get(int i);

4、LIst转换为Array

Object[] array = list.toArray();//会丢失类型信息

第二种方式是给toArray(T[])传入一个类型相同的ArrayList内部自动把元素复制到传入的Array中:

Integer[] array = list.toArray(new Integer[3]);
Integer[] array = list.toArray(new Integer[list.size()]);

注意到这个toArray(T[])方法的泛型参数<T>并不是List接口定义的泛型参数<E>,所以,我们实际上可以传入其他类型的数组,例如我们传入Number类型的数组,返回的仍然是Number类型:

但是,如果我们传入类型不匹配的数组,例如,String[]类型的数组,由于List的元素是Integer,所以无法放入String数组,这个方法会抛出ArrayStoreException

最后一种更简洁的写法是通过List接口定义的T[] toArray(IntFunction<T[]> generator)方法:

Integer[] array = list.toArray(Integer[]::new);

5、array转list

Integer[] array = { 1, 2, 3 };
List<Integer> list = List.of(array);

对于JDK 11之前的版本,可以使用Arrays.asList(T...)方法把数组转换成List

要注意的是,返回的List不一定就是ArrayList或者LinkedList,因为List只是一个接口,如果我们调用List.of(),它返回的是一个只读List

6.三种遍历方法

import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;
public class Main {public static void main(String[] args) {List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);for (Integer i : list) {System.out.print(i);}for (Iterator<Integer> it = list.iterator(); it.hasNext();) {Integer num = it.next();System.out.print(num);}for (int i = 0; i < list.size(); i++) {System.out.print(list.get(i));}}
}

Java List使用相关推荐

  1. springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据

    SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...

  2. Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几

    Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几 //获得入参的日期 Calendar cd = Calendar.getInstance(); cd.setTime(date ...

  3. 在k8s中使用gradle构建java web项目镜像Dockerfile

    在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...

  4. Java | kotlin 手动注入bean,解决lateinit property loginService has not been initialized异常

    kotlin.UninitializedPropertyAccessException: lateinit property loginService has not been initialized ...

  5. SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos

    SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...

  6. OpenAPI使用(swagger3),Kotlin使用swagger3,Java使用swagger3,gradle、Maven使用swagger3

    OpenAPI使用(swagger3) demo见Gitte 一.背景及名词解释 OpenAPI是规范的正式名称.规范的开发工作于2015年启动,当时SmartBear(负责Swagger工具开发的公 ...

  7. Gradle错误提示:Java home supplied via ‘xxx.xxx.xxx‘ is invalid

    Gradle错误提示:Java home supplied via 'org.gradle.java.home' is invalid 描述:在使用idea采用gradle进行依赖的管理功能,当想切换 ...

  8. 查看Hotspot源码,查看java各个版本源码的网站,如何查看jdk源码

    java开发必知必会之看源码,而看源码的第一步则是找到源码

  9. java基本类型转换,随记

    java基本类型转换: double double 转 long double random = Math.round(Math.random()*10000); long l = new Doubl ...

  10. 科学处理java.lang.StackOverflowError: null异常

    java.lang.StackOverflowError: null异常处理 在项目运行中出现StackOverflowError 首先要检查在编码中是否有明显的递归编码,比如死循环或者无限循环调用. ...

最新文章

  1. 消息称中国商务部已批准高通收购恩智浦
  2. Python学习day5作业
  3. python做前端可视化_Python数据可视化的四种简易方法
  4. Apache FTPClient操作文件上传下载及公共类
  5. java ssh 和mvc_[转]JAVA三大框架SSH和MVC
  6. android alertdialog view,Android AlertDialog 方法setView(view,0,0,0,0)开发自定义对话框
  7. phpSQLiteAdmin - 基于Web的SQLite数据库管理工具 - OPEN 开发经验库
  8. Qt 流畅的运行大循环
  9. @Lazy注解简单理解
  10. 支付宝之小鸡拍球游戏(C++)
  11. 解决Rem的适配问题
  12. 硬件使用74hc138的C语言程序,单片机74HC138三八译码器的原理及应用方法
  13. STM32应用(九)编码器及其测速原理、L298N电机驱动控制编码器电机
  14. 国内小程序生态服务平台即速应用完成5000万元A+轮融资...
  15. codeforce比赛规则介绍(转)
  16. 素雅的登录界面,简单而优雅
  17. 土方工程量计算表格excel_土石方计算电子表格
  18. Vue中 v-vif 与v-for 的问题
  19. 什么是护网(HVV)?需要什么技能?
  20. 微信小程序即将上线,现在就可以开发啦

热门文章

  1. echart tooltip左边的小圆点怎么设置
  2. 计算机老师任课教师寄语,任课教师寄语
  3. 大数据综合案例--搜狗搜索日志分析
  4. java生成.exe文件
  5. 矩阵快速幂+动态规划=蓝桥杯 垒骰子
  6. 【中间件加固】————3、Tomcat 安全加固规范
  7. 从URL启动程序:也谈谈旺旺的页面启动--转载
  8. 跳一跳python刷分_微信跳一跳不仅可以用python刷分,竟然还可以直接改分
  9. iOS版微信6.5.21发布 适配iPhone X
  10. Struts2 CVE-2021-44228 log4j POC