`
cakin24
  • 浏览: 1396596 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

固定长度的List

    博客分类:
  • java
阅读更多

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#中实现这一功能,并提供相关...

    Python-使用BERT模型作为句子编码服务将可变长度句子映射到固定长度向量

    这个标题提到的是如何利用BERT模型来构建一个句子编码服务,目的是将任意长度的句子转换为固定长度的向量表示,以便进行后续的计算和分析。 BERT是一种预训练的深度学习模型,它通过Transformer架构学习到丰富的...

    python实现对指定字符串补足固定长度倍数截断输出的方法

    简单的小练习,注意考虑全可能就行,下面是实现: #!usr/bin/env python ... 补足固定长度倍数输出 ''' a=raw_input() b=raw_input() len_a=len(a) len_b=len(b) a_list=[] b_list=[] if a == '':

    std::List类的遍历获得元素的操作二法

    在C++标准库中,`std::list`是一种双链表容器,它提供了一种高效的方式来存储和操作序列数据。由于`std::list`不是随机访问容器,因此它不支持像数组那样的通过索引直接访问元素(如`[]`运算符)。但是,`std::list`...

    优先级队列对C ++使用环形缓冲区,固定长度-C/C++开发

    优先级队列对c ++使用环形缓冲区,固定长度container :: RingQueue C ++的环形优先级队列。 具有类似STL的单头实现。 只需将其放入您的项目中即可。 不是线程安全的C ++ 11实现完全可移植自排序,例如std :: set基本...

    字符串按“指定分隔符”和“指定长度”分隔示例

    本示例主要关注如何使用C#来实现一个特定的功能:按照指定的分隔符和指定的长度来分割字符串。这个功能在处理大量文本数据时尤其有用,例如在读取、分析或格式化日志文件,或者从用户输入中提取特定信息时。 首先,...

    String[] list 相互转化

    这两种数据结构各有优势:数组提供了固定长度且访问效率高的特性,而列表则支持动态调整大小并且提供丰富的操作方法。了解它们之间的转换方式对于日常开发工作来说至关重要。 #### 1. List 转换为 String[] 要将一...

    list转换成string数组

    - **数组长度**:当使用`new String[list.size()]`创建数组时,确保列表中的元素数量与数组长度一致,避免出现数组越界的问题。 - **性能考虑**:在转换过程中,尽量减少不必要的对象创建,尤其是当列表很大时,这...

    解析C#中[],List,Array,ArrayList的区别及应用

    [] 是针对特定类型、固定长度的。 List 是针对特定类型、任意长度的。 Array 是针对任意类型、固定长度的。 ArrayList 是针对任意类型、任意长度的。 Array 和 ArrayList 是通过存储 object 实现任意类型的,所以...

    flda-core:固定长度数据访问器-核心API

    FLDA-固定长度数据访问器 FLDA支持读取和写入具有固定大小的记录的数据。 固定大小表示: 每条记录具有n个属性。 属性具有索引。 或:每条记录都有固定长度。 属性具有索引和长度。 这个项目只是核心。 有关此...

    java 数组转list.docx

    需要注意的是,在使用 asList() 方法或 ArrayList 的构造函数将数组转换为 List 时,返回的 List 对象是一个固定长度的列表,不能进行添加或删除元素的操作。如果需要对转换后的 List 进行修改操作,可以使用方法 3 ...

    分隔List集合,按指定大小,将集合分成多个的方法

    然后,使用一个for循环来创建并填充结果列表(result),每次循环都会从原始List中获取一个长度为len的子List(除非已经到达List末尾,此时子List的长度可能小于len)。最后,返回分割后的子List集合。 这个方法的...

    C# Array和ArrayList,List区别

    // 输出数组长度 ``` #### 二、C# ArrayList 类的用法及特点 **定义与初始化** `ArrayList` 类位于 `System.Collections` 命名空间中,它可以存储不同类型的数据,并且大小可以动态改变。创建一个 `ArrayList` ...

    固定滑块高度的ListView

    然而,在某些设计需求中,我们可能需要将滚动条的大小(thumb)固定,以保持界面的一致性和美观性。"固定滑块高度的ListView"就是这样一个技术点,它涉及到Android中的自定义滚动条以及ListView的属性设置。 首先,...

    C# List使用总结

    - 性能:在大多数情况下,`List<T>`的性能优于`ArrayList`,尤其是当集合中元素类型固定时。 - 扩展性:两者都可以动态扩展,但在.NET Framework 2.0及更高版本中,`List<T>`通常被视为首选。 6. `List<T>`与`...

    数组和list相互转换

    数组是一种固定长度的数据结构,适合存储已知大小的数据集合;而列表则是一种可变长度的数据结构,适合存储未知或可能变化大小的数据集合。在实际开发过程中,我们经常需要将数组转换为列表或将列表转换为数组,以便...

    在一个时间点 生成多个随机数 生成N组长度固定的随机下标组合

    本篇文章将详细探讨如何在C#中生成多个随机数,以及如何构建长度固定的随机下标组合,以解决诸如试卷随机排序等问题。 首先,我们需要了解C#中的`Random`类,它是生成随机数的基础。`Random`类允许我们创建一个...

    Java 数组转list.docx

    List 是 Java 中的一种集合类型,用于存储多个元素,而数组是固定长度的元素集合。将数组转换为 List 可以提供更多的灵活性和便捷性。在本文中,我们将介绍两种常见的方法来将 Java 数组转换为 List。 方法一:使用...

    ListView设置分割线的长度

    此外,我们还可以通过`setDividerHeight(int height)`方法直接设置分割线的高度,但这并不适用于调整长度,因为高度是固定的,而长度可能需要根据列表项动态变化。 在实际开发中,我们可能会遇到的问题包括分割线...

Global site tag (gtag.js) - Google Analytics