Arrays工具类里提供了asList(Object... a)方法,该方法可以把一个数组、或指定个数的对象转换成一个List集合,这个List集合既不是ArrayList实现类的实例,也不是Vector实现类的实例,而是Arrays的内部类ArrayList的实例。
Arrays.ArrayList是一个固定长度的List集合,程序只能遍历访问该集合里的元素,不可增加、删除该集合里的元素 。
1 代码示例
import java.util.*; public class FixedSizeList { public static void main(String[] args) { List fixedList = Arrays.asList("PPT完全自学手册", "Windows API"); // 获取fixedList的实现类,将输出Arrays$ArrayList System.out.println(fixedList.getClass()); // 使用方法引用遍历集合元素 fixedList.forEach(System.out::println); // 试图增加、删除元素都会引发UnsupportedOperationException异常 fixedList.add("黑客攻防"); fixedList.remove("Windows API"); } }
2 运行结果
class java.util.Arrays$ArrayList
PPT完全自学手册
Windows API
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(Unknown Source)
at java.util.AbstractList.add(Unknown Source)
at FixedSizeList.main(FixedSizeList.java:14)
3 代码分析
代码最后两行对于普通的List集合完全正常,但如果试图通过这两个方法来增加,删除Arrays.ArrayList集合中的元素,将会引发异常。但会在运行倒数第2行时引发UnsupportedOperationException异常。
相关推荐
在编程领域,尤其是在C#语言中,经常需要处理字符串并按照特定格式进行显示,例如将字符串每行限制在固定长度。这在打印报告、生成日志或者格式化输出时非常常见。本文将深入探讨如何在C#中实现这一功能,并提供相关...
这个标题提到的是如何利用BERT模型来构建一个句子编码服务,目的是将任意长度的句子转换为固定长度的向量表示,以便进行后续的计算和分析。 BERT是一种预训练的深度学习模型,它通过Transformer架构学习到丰富的...
简单的小练习,注意考虑全可能就行,下面是实现: #!usr/bin/env python ... 补足固定长度倍数输出 ''' a=raw_input() b=raw_input() len_a=len(a) len_b=len(b) a_list=[] b_list=[] if a == '':
在C++标准库中,`std::list`是一种双链表容器,它提供了一种高效的方式来存储和操作序列数据。由于`std::list`不是随机访问容器,因此它不支持像数组那样的通过索引直接访问元素(如`[]`运算符)。但是,`std::list`...
本示例主要关注如何使用C#来实现一个特定的功能:按照指定的分隔符和指定的长度来分割字符串。这个功能在处理大量文本数据时尤其有用,例如在读取、分析或格式化日志文件,或者从用户输入中提取特定信息时。 首先,...
这两种数据结构各有优势:数组提供了固定长度且访问效率高的特性,而列表则支持动态调整大小并且提供丰富的操作方法。了解它们之间的转换方式对于日常开发工作来说至关重要。 #### 1. List 转换为 String[] 要将一...
- **数组长度**:当使用`new String[list.size()]`创建数组时,确保列表中的元素数量与数组长度一致,避免出现数组越界的问题。 - **性能考虑**:在转换过程中,尽量减少不必要的对象创建,尤其是当列表很大时,这...
[] 是针对特定类型、固定长度的。 List 是针对特定类型、任意长度的。 Array 是针对任意类型、固定长度的。 ArrayList 是针对任意类型、任意长度的。 Array 和 ArrayList 是通过存储 object 实现任意类型的,所以...
优先级队列对c ++使用环形缓冲区,固定长度container :: RingQueue C ++的环形优先级队列。 具有类似STL的单头实现。 只需将其放入您的项目中即可。 不是线程安全的C ++ 11实现完全可移植自排序,例如std :: set基本...
FLDA-固定长度数据访问器 FLDA支持读取和写入具有固定大小的记录的数据。 固定大小表示: 每条记录具有n个属性。 属性具有索引。 或:每条记录都有固定长度。 属性具有索引和长度。 这个项目只是核心。 有关此...
需要注意的是,在使用 asList() 方法或 ArrayList 的构造函数将数组转换为 List 时,返回的 List 对象是一个固定长度的列表,不能进行添加或删除元素的操作。如果需要对转换后的 List 进行修改操作,可以使用方法 3 ...
然后,使用一个for循环来创建并填充结果列表(result),每次循环都会从原始List中获取一个长度为len的子List(除非已经到达List末尾,此时子List的长度可能小于len)。最后,返回分割后的子List集合。 这个方法的...
// 输出数组长度 ``` #### 二、C# ArrayList 类的用法及特点 **定义与初始化** `ArrayList` 类位于 `System.Collections` 命名空间中,它可以存储不同类型的数据,并且大小可以动态改变。创建一个 `ArrayList` ...
然而,在某些设计需求中,我们可能需要将滚动条的大小(thumb)固定,以保持界面的一致性和美观性。"固定滑块高度的ListView"就是这样一个技术点,它涉及到Android中的自定义滚动条以及ListView的属性设置。 首先,...
- 性能:在大多数情况下,`List<T>`的性能优于`ArrayList`,尤其是当集合中元素类型固定时。 - 扩展性:两者都可以动态扩展,但在.NET Framework 2.0及更高版本中,`List<T>`通常被视为首选。 6. `List<T>`与`...
数组是一种固定长度的数据结构,适合存储已知大小的数据集合;而列表则是一种可变长度的数据结构,适合存储未知或可能变化大小的数据集合。在实际开发过程中,我们经常需要将数组转换为列表或将列表转换为数组,以便...
本篇文章将详细探讨如何在C#中生成多个随机数,以及如何构建长度固定的随机下标组合,以解决诸如试卷随机排序等问题。 首先,我们需要了解C#中的`Random`类,它是生成随机数的基础。`Random`类允许我们创建一个...
List 是 Java 中的一种集合类型,用于存储多个元素,而数组是固定长度的元素集合。将数组转换为 List 可以提供更多的灵活性和便捷性。在本文中,我们将介绍两种常见的方法来将 Java 数组转换为 List。 方法一:使用...
此外,我们还可以通过`setDividerHeight(int height)`方法直接设置分割线的高度,但这并不适用于调整长度,因为高度是固定的,而长度可能需要根据列表项动态变化。 在实际开发中,我们可能会遇到的问题包括分割线...