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

相关文章

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

javacv依赖太大导致jar包也大的解决办法

《javacv依赖太大导致jar包也大的解决办法》随着项目的复杂度和依赖关系的增加,打包后的JAR包可能会变得很大,:本文主要介绍javacv依赖太大导致jar包也大的解决办法,文中通过代码介绍的... 目录前言1.检查依赖2.更改依赖3.检查副依赖总结 前言最近在写项目时,用到了Javacv里的获取视频

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

SpringBoot全局域名替换的实现

《SpringBoot全局域名替换的实现》本文主要介绍了SpringBoot全局域名替换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录 项目结构⚙️ 配置文件application.yml️ 配置类AppProperties.Ja

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分