Java List使用
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[])
传入一个类型相同的Array
,List
内部自动把元素复制到传入的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使用相关推荐
- springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据
SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...
- Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几
Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几 //获得入参的日期 Calendar cd = Calendar.getInstance(); cd.setTime(date ...
- 在k8s中使用gradle构建java web项目镜像Dockerfile
在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...
- Java | kotlin 手动注入bean,解决lateinit property loginService has not been initialized异常
kotlin.UninitializedPropertyAccessException: lateinit property loginService has not been initialized ...
- SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos
SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...
- OpenAPI使用(swagger3),Kotlin使用swagger3,Java使用swagger3,gradle、Maven使用swagger3
OpenAPI使用(swagger3) demo见Gitte 一.背景及名词解释 OpenAPI是规范的正式名称.规范的开发工作于2015年启动,当时SmartBear(负责Swagger工具开发的公 ...
- Gradle错误提示:Java home supplied via ‘xxx.xxx.xxx‘ is invalid
Gradle错误提示:Java home supplied via 'org.gradle.java.home' is invalid 描述:在使用idea采用gradle进行依赖的管理功能,当想切换 ...
- 查看Hotspot源码,查看java各个版本源码的网站,如何查看jdk源码
java开发必知必会之看源码,而看源码的第一步则是找到源码
- java基本类型转换,随记
java基本类型转换: double double 转 long double random = Math.round(Math.random()*10000); long l = new Doubl ...
- 科学处理java.lang.StackOverflowError: null异常
java.lang.StackOverflowError: null异常处理 在项目运行中出现StackOverflowError 首先要检查在编码中是否有明显的递归编码,比如死循环或者无限循环调用. ...
最新文章
- 消息称中国商务部已批准高通收购恩智浦
- Python学习day5作业
- python做前端可视化_Python数据可视化的四种简易方法
- Apache FTPClient操作文件上传下载及公共类
- java ssh 和mvc_[转]JAVA三大框架SSH和MVC
- android alertdialog view,Android AlertDialog 方法setView(view,0,0,0,0)开发自定义对话框
- phpSQLiteAdmin - 基于Web的SQLite数据库管理工具 - OPEN 开发经验库
- Qt 流畅的运行大循环
- @Lazy注解简单理解
- 支付宝之小鸡拍球游戏(C++)
- 解决Rem的适配问题
- 硬件使用74hc138的C语言程序,单片机74HC138三八译码器的原理及应用方法
- STM32应用(九)编码器及其测速原理、L298N电机驱动控制编码器电机
- 国内小程序生态服务平台即速应用完成5000万元A+轮融资...
- codeforce比赛规则介绍(转)
- 素雅的登录界面,简单而优雅
- 土方工程量计算表格excel_土石方计算电子表格
- Vue中 v-vif 与v-for 的问题
- 什么是护网(HVV)?需要什么技能?
- 微信小程序即将上线,现在就可以开发啦