`
zhaobin87
  • 浏览: 77751 次
  • 来自: 深圳
社区版块
存档分类
最新评论

ArrayList和数组的互换

    博客分类:
  • Java
阅读更多

    开发中不免碰到List与数组类型之间的相互转换,当要将ArrayList类型的数据转换为String[]的时候,没有必要对List类型进行遍历,List提供给我们一个很好的方法解决List转换成为数组的问题,

List<String> list=new ArrayList<String>(); 
int size=list.size(); 
String[] array = (String[])list.toArray(new String[size]); 

    ArrayList提供public <T> T[] toArray(T[] a)方法返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时类型。如果列表能放入指定的数组,则返回放入此列表元素的数组。否则,将根据指定数组的运行时类型和此列表的大小分配一个新的数组。
    如果指定的数组能容纳列表并有剩余空间(即数组的元素比列表的多),那么会将数组中紧跟在集合末尾的元素设置为 null。这对确定列表的长度很有用,但只 在调用方知道列表中不包含任何 null 元素时才有用。

    数组转换成为List

String[] array=new String[3]; 
List<String> list=Arrays.asList(array); 

    数组转换成为List的问题Arrays对象也提供给我们public static <T> List<T> asList(T... a)供我们调用,

    asList方法返回一个受指定数组支持的固定大小的列表,此方法同 Collection.toArray 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess。除此之外, 此方法还提供了一个创建固定长度的列表的便捷方法,该列表被初始化为包含多个元素:

List<String> list = Arrays.asList(str1,str2,str3);

 

分享到:
评论

相关推荐

    华为OD机试C卷- 考古学家(Java & JS & Python).md-私信看全套OD代码及解析

    由于题目中指出相同内容的碎片在组合中可以互换位置,但这种互换不视为新的组合,因此我们需要在处理过程中排除这些重复的组合。 ##### 数据结构选择 1. **HashSet/TreeSet**: 用于存储不重复的石碑碎片内容,以便...

    java面试题

    某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中加密,规则如下:每位数字加5,除以10取余代替该数字,再将第一位和第四位互换,第二位和第三位互换。给出具体的实现代码。 **解题思路**: - 将输入...

    json-lib-2.4-jdk15及其依赖jar包

    2. **JSON对象和数组**:`json-lib`提供了解析和生成JSON对象(JSON Object)和数组(JSON Array)的能力,这些对象可以映射为Java的HashMap和ArrayList。 3. **类型转换**:库支持将Java对象如Date、Number、...

    json-lib_所有jar包

    4. **XML与JSON的互换**:`json-lib`还支持XML和JSON之间的转换,这对于处理既有XML数据又有JSON数据的系统非常有用。例如,你可以使用`XMLJSONHelper.toJSONObject()`将XML字符串转换为JSONObject,或者用`...

    JAVA核心知识整理.pdf

    - **堆(Heap-线程共享)- 运行时数据区**:存储对象实例和数组。 - **方法区/永久代(线程共享)**:存储类信息、常量、静态变量等。 #### JVM运行时内存 - **新生代**:主要分为Eden区和两个Survivor区(From...

    SlidingPuzzle JAVA程序

    在解决拼图的过程中,会涉及到数组元素的交换,比如使用`temp`作为中间变量进行两个相邻元素的互换。此外,可能还会用到数组的遍历,检查当前拼图是否达到目标状态。 ### 6. 状态判断与算法 解决滑动拼图通常涉及一...

    json-lib-2.4(2013.6.13前最新版本)选定版

    4. **集合和数组的支持**:`json-lib`可以处理Java的ArrayList、LinkedList、HashSet、TreeSet等集合,以及基本类型的数组,将其转化为JSON数组或对象。 5. **XML与JSON的互换**:`json-lib`还提供了XML与JSON之间...

    第02章 Java编程基础 04 基本数据类型转换

    在处理数组和集合时,基本数据类型的数组不能直接与Object数组或集合互换,这时需要使用类型转换。例如,如果你有一个int[]数组,想要放入ArrayList,你需要先将其转换为Integer[]数组,然后才能添加到ArrayList中。...

    JAVA面试核心知识点整理.pdf

    List接口有ArrayList、Vector和LinkedList实现,其中ArrayList是基于数组实现,Vector支持线程同步,LinkedList是基于链表实现。Set接口有HashSet、TreeSet和LinkedHashSet实现,其中HashSet是基于HashMap实现的,...

    2023年javasqloracle面试题汇总.doc

    10. **逻辑运算符&和&&**:在Java中,`&&`运算符称为短路逻辑与,如果第一个操作数为`false`,则不会评估第二个操作数。`&`运算符则是非短路逻辑与,不论前一个操作数是什么,都会评估第二个操作数。 11. **事务与...

    扬讯科技JAVA笔试.doc

    抽象类与接口的使用场景及其互换性 - **抽象类**:主要用于定义共同的行为,通常作为基类使用,可以包含抽象方法和具体实现方法,支持继承。 - **接口**:定义了一组行为规范,不包含具体实现,支持多继承。 -...

    ExpertoPoker:法利亚斯问题的TP

    具体而言,一副扑克牌有52张,每轮洗牌将牌分成两堆,然后将一堆的最上面一张与另一堆的最下面一张互换,重复此过程,最终整副牌会回到原始顺序。 要理解并实现法利亚斯问题,首先我们需要熟悉Java的基础数据结构和...

    2020年最新Java核心知识点整理.pdf

    - **堆**:是Java虚拟机所管理的内存中最大的一块,是线程共享的区域,几乎所有的对象实例和数组都在这里分配内存。Java堆可以处于物理上不连续的内存空间中,只要逻辑上连续即可。 - **方法区**(或称为永久代):...

    java编写的几种排序算法

    - 调整:将堆顶元素与末尾元素互换,然后将剩余n-1个元素重新调整为堆,重复此步骤,直到整个序列有序。 在Java中实现这些排序算法,可以使用标准的Java SDK,如ArrayList或Array类来存储数据,然后通过自定义的...

    JSON - JAVA 使用方法.docx

    此外,文件中提到了使用Nutz的JSON解析器,这是一个高效的Java库,可以方便地进行Java对象与JSON字符串的互换。例如: ```java // Java对象转JSON字符串 Map, Object&gt; map = new HashMap(); map.put("name", "Peter...

    2010年11月JAVA面试题汇总.pdf

    3. 无额外变量的变量交换:在不使用第三个变量的情况下,可以利用算术运算实现两个变量值的互换,例如`a = a - b`, `b = b + a`, `a = b - a`。 4. Override与重载:Override是子类重写父类方法,确保子类具有与...

    android实现的空当接龙

    可以使用二维数组或ArrayList来表示牌堆,每个元素代表一张牌,包含牌的值(数字和花色)和状态(是否可移动等)。 5. **算法设计**:游戏的核心是实现有效的移动规则和合法性检查。这包括判断相邻的牌是否可以互换...

    Java 283页技术文档整理.pdf

    虚拟机栈用于存储局部变量表、操作数栈、动态链接等信息;本地方法栈则为虚拟机使用到的本地方法服务。线程共享的内存区域包括堆内存和方法区/永久代。堆内存是存放对象实例的区域,所有线程共享;方法区/永久代则...

Global site tag (gtag.js) - Google Analytics