Java - List<Byte> 转 byte[ ]

简介: Java - List<Byte> 转 byte[ ]

一般在网络、文件中,经常用到 byte[] 数组,但这次小编遇到一个互转的问题,发现原生 JDK 自带的方法贼麻烦,于是想到了 Guava 神器。


1、使用 for 循环

privatebyte[] listTobyte(List<Byte>list) {
if (list==null||list.size() <0)
returnnull;
byte[] bytes=newbyte[list.size()];
inti=0;
Iterator<Byte>iterator=list.iterator();
while (iterator.hasNext()) {
bytes[i] =iterator.next();
i++;
    }
returnbytes;
}

Ps:这种方式很慢。


2、使用 Apache 官网提供的 JAR 里的方法

privatebyte[] listTobyte(List<Byte>list) {
byte[] bytes=ArrayUtils.toPrimitive(list);
returnbytes;
}

AR下载地址:http://commons.apache.org/proper/commons-lang/download_lang.cgi


说明:http://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/ArrayUtils.html#toPrimitive%28java.lang.Integer%5b%5d%29


3、使用 Google 提供的 JAR 里的方法

privatebyte[] listTobyte(List<Byte>list) {
byte[] bytes=Bytes.toArray(list);
returnbytes}

   com.google.guava

   guava

   20.0



byte[] 数组转 List

byte[] bytesArray=newbyte[]{1,2,3,4,5};
List<Byte>byteList=newArrayList<>();
byteList.addAll(Bytes.asList(bytesArray));
目录
相关文章
|
5天前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
5天前
|
存储 安全 Java
java集合框架复习----(2)List
这篇文章是关于Java集合框架中List集合的详细复习,包括List的特点、常用方法、迭代器的使用,以及ArrayList、Vector和LinkedList三种实现类的比较和泛型在Java中的使用示例。
java集合框架复习----(2)List
|
5天前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
23天前
|
Java API 存储
Java如何对List进行排序?
【7月更文挑战第26天】
58 9
Java如何对List进行排序?
|
3天前
|
Java 数据库
成功解决:java.sql.SQLSyntaxErrorException: Unknown column ‘origin_name‘ in ‘field list‘
这篇文章分享了作者在使用SpringBoot和Mybatis-plus时遇到的SQLSyntaxErrorException错误,原因是字段映射不正确,并通过修改数据库字段名称或关闭自动驼峰命名转换配置来成功解决了这个问题。
成功解决:java.sql.SQLSyntaxErrorException: Unknown column ‘origin_name‘ in ‘field list‘
|
20天前
|
Java API Apache
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。
|
24天前
|
运维 关系型数据库 Java
PolarDB产品使用问题之使用List或Range分区表时,Java代码是否需要进行改动
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
1月前
|
存储 Java 索引
Java List接口实现原理与性能评估
Java List接口实现原理与性能评估
|
1月前
|
Java Apache Maven
Java:commons-codec实现byte数组和16进制字符串转换
在上述代码中,`Hex.encodeHexString(bytes)`用于将byte数组转换为16进制字符串,`Hex.decodeHex(hexString)`用于将16进制字符串转换为byte数组。
21 0
|
1月前
|
Java Apache Maven
Java:commons-codec实现byte数组和16进制字符串转换
在上述代码中,`Hex.encodeHexString(bytes)`用于将byte数组转换为16进制字符串,`Hex.decodeHex(hexString)`用于将16进制字符串转换为byte数组。
25 0