Java核心API——collection类的常见方法

2024-08-23 06:20

本文主要是介绍Java核心API——collection类的常见方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、数组与集合之间的转换

* 集合转换为数组
* Collection提供了一个方法toArray。可以将当前集合转换为一个数组
        Collection<String> array=new ArrayList<>();array.add("1");array.add("2");array.add("3");array.add("4");System.out.println(array);//        Object[] array = c.toArray();//返回对象数组不方便/*重载的toArray方法要求我们传入一个需要转换的数组长度通常与集合size一致即可。如果数组长度小于集合size,那么toArray方法内部会创建一个与该数组类型且与集合size等长的数组将其返回*/String[] array1 = array.toArray(new String[array.size()]);
//        String[] array = c.toArray(new String[0]);System.out.println(Arrays.toString(array1));for(String s:array){System.out.println(s);}

 

* 数组转为集合
* 数组的工具类Arrays提供了应该静态方法asList
* 可以讲数组转为一个List集合
        String array[] = {"11", "22", "33"};System.out.println("array:" + Arrays.toString(array));List<String> list = Arrays.asList(array);System.out.println("list" + list);/*asList方法内部:创建一个名为ArrayList的实例(注意,它不是java.util.ArrayList而是Arrays自己定义的一个内部类)。该实例会直接引用传入的数组。因此对该集合的操作就是对该数组的操作。*///注意,对集合元素的操作就是对原数组元素的操作list.set(2, "三");System.out.println("list" + list);System.out.println("array:" + Arrays.toString(array));//因为数组定长,所以试图改变长度的操作都是不支持的,会抛出不支持操作异常(add、remove都不行)//java.lang.UnsupportedOperationException//list.add("七");
//        System.out.println("list" + list);
//        System.out.println("array:" + Arrays.toString(array));
//        list.remove("三");
//        System.out.println("list" + list);
//        System.out.println("array:" + Arrays.toString(array));/*可以自行创建一个新集合,然后包含前面数组转换的集合,这样就可以随意的修改元素了且不会对原数组产生影响。*/// List<String> list2 = new ArrayList<>();// list2.addAll(list);List<String> list2=new ArrayList<>(list);list2.add("七");System.out.println("list2:"+list2);list2.remove("三");System.out.println("list2:"+list2);/*所有的集合都支持一种参数为Collection的构造器作用是在创建该集合的同时就包含参数传入的集合中所有元素List<String> list2 = new ArrayList<>(list);上面的实例化等同于:List<String> list2 = new ArrayList<>();list2.addAll(list);*/

 

 

这篇关于Java核心API——collection类的常见方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1098594

相关文章

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

springboot将lib和jar分离的操作方法

《springboot将lib和jar分离的操作方法》本文介绍了如何通过优化pom.xml配置来减小SpringBoot项目的jar包大小,主要通过使用spring-boot-maven-plugin... 遇到一个问题,就是每次maven package或者maven install后target中的ja

Java中八大包装类举例详解(通俗易懂)

《Java中八大包装类举例详解(通俗易懂)》:本文主要介绍Java中的包装类,包括它们的作用、特点、用途以及如何进行装箱和拆箱,包装类还提供了许多实用方法,如转换、获取基本类型值、比较和类型检测,... 目录一、包装类(Wrapper Class)1、简要介绍2、包装类特点3、包装类用途二、装箱和拆箱1、装

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll