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集合并发安全问题及解决方案
11 1
|
5天前
|
存储 消息中间件 算法
Java中的集合框架详解:List、Set、Map的使用场景
Java中的集合框架详解:List、Set、Map的使用场景
|
10天前
|
存储 安全 Java
Java List详解
Java List详解
|
11天前
|
Java API
使用 Java 来实现两个 List 的差集操作
使用 Java 来实现两个 List 的差集操作
15 3
|
2天前
|
存储 缓存 安全
Java List操作详解及常用方法
Java List操作详解及常用方法
|
4天前
|
存储 设计模式 并行计算
CopyOnWriteArrayList:深入理解Java中的线程安全List原理和应用
CopyOnWriteArrayList:深入理解Java中的线程安全List原理和应用
|
4天前
|
并行计算 Java API
Java List集合取交集的八种不同实现方式
Java List集合取交集的八种不同实现方式
|
6天前
|
Java
JAVA构建List集合为树形结构的方法和代码
JAVA构建List集合为树形结构的方法和代码
|
6天前
|
Java
java操作list使用Stream
java操作list使用Stream
7 0
|
13天前
|
Java 索引
Java List实战:手把手教你玩转ArrayList和LinkedList
【6月更文挑战第17天】在Java中,ArrayList和LinkedList是List接口的实现,分别基于动态数组和双向链表。ArrayList适合索引访问,提供快速读取,而LinkedList擅长插入和删除操作。通过示例展示了两者的基本用法,如添加、访问、修改和删除元素。根据场景选择合适的实现能优化性能。