java实现列表、集合与数组之间转化的方法

本文实例讲述了java实现列表、集合与数组之间转化的方法。分享给大家供大家参考。具体实现方法如下:

代码如下:

package test; 
import java.util.ArrayList; 
import java.util.Arrays; 
import java.util.HashSet; 
import java.util.List; 
import java.util.Set; 
public class Test2 { 
    public static void main(String[] args) { 
        List list = new ArrayList(); 
        list.add("a"); 
        list.add("b"); 
        list.add("c"); 
        list.add("d"); 
        // list.add(1);//会产生java.lang.ArrayStoreException异常 
        // 当list中的数据类型都一致时可以将list转化为数组 
        Object[] array = list.toArray(); 
        System.out.println("从list转换成的对象数组长度为:" + array.length); 
        // 在转化为其它类型的数组时需要强制类型转换,并且,要使用带参数的toArray方法,参数为对象数组, 
        // 将list中的内容放入参数数组中,当参数数组的长度小于list的元素个数时,会自动扩充数组的长度以适应list的长度 
        String[] array1 = (String[]) list.toArray(new String[0]); 
        System.out.println("从list转换成的字符串数组长度为:" + array1.length); 
        // 分配一个长度与list的长度相等的字符串数组 
        String[] array2 = (String[]) list.toArray(new String[list.size()]); 
        System.out.println("从list转换成的字符串数组长度为:" + array2.length); 
        list.clear(); 
        // 将数组转换成list 
        for (int i = 0; i < array.length; i++) { 
            list.add(array[i]); 
        } 
        System.out.println("将数组转换成list的元素个数为:" + list.size()); 
        list.clear(); 
        // 直接使用Arrays的asList方法 
        list = Arrays.asList(array); 
        System.out.println("将数组转换成list的元素个数为:" + list.size()); 
        Set set = new HashSet(); 
        set.add("a"); 
        set.add("b"); 
        // 将set转换为数组 
        array = set.toArray(); 
        array1 = (String[]) set.toArray(new String[0]); 
        array2 = (String[]) set.toArray(new String[set.size()]); 
        System.out.println("从Set转换成的对象数组长度为:" + array.length); 
        System.out.println("从Set转换成的字符串数组长度为:" + array2.length); 
        // 数组转换成Set 
        // 将数组转换成List后,再用List构造Set 
        set = new HashSet(Arrays.asList(array)); 
        System.out.println("将数组转换成Set的元素个数为:" + list.size()); 
        // 将Set清空,然后把数组转换成的list全部add 
        set.clear(); 
        set.addAll(Arrays.asList(array1)); 
        System.out.println("将数组转换成Set的元素个数为:" + list.size()); 
    } 
}

希望本文所述对大家的java程序设计有所帮助。

(0)

相关推荐

  • java取两个字符串的最大交集

    本文实例讲述了java取两个字符串的最大交集的实现方法,分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package com.itheima.net; public class Game13 {     public static void main(String[] args)     {         String s1 = "135adbfg67";         String s2 = "125dbf59";         Strin

  • java字符串求并集的方法

    本文实例讲述了java字符串求并集的方法.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: String[] arr1 = {"abcd", "dfg", "abc"}; String[] arr2 = {"abcd", "ccd", "df", "d", "abc"}; String[] result_union = union(

  • Java中的2种集合排序方法介绍

    直接上代码: import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; /** * * <p> * ClassName CollectionsSort * </p> * <p> * Description 主要介绍两种集合的排序算法<br/> * 第一:java.util.Collections.s

  • java中List集合及其遍历详解

    1. 首先List<E>集合继承与Collection<E>,是一个接口. ①  Collection (集合框架是JDK1.2版本出现的) ②   list:是有序的,元素可以重复,以为该集合体系有索引.    经常用到的是实现该接口的ArrayList和LinkedList类 ③   Arraylist:  底层的数据结构使用的是数组结构, 特点: 查询速度很快,但是增删稍慢.线程不同步 LinkedList: 底层使用的是链表数据结构. 特点: 增删速度很快,查询稍慢. Ve

  • java中for循环删除集合陷阱

    首先看下面的代码: import java.util.LinkedList; import java.util.List; public class DeleteCollection { public static void main(String[] args) { List<String> list = new LinkedList<String>(); list.add("a"); list.add("b"); list.add(&qu

  • java去除集合中重复元素示例分享 java去除重复

    复制代码 代码如下: class ArrayListTest1 {    public static void main(String[] args) {        ArrayList al = new ArrayList();        al.add("java03");        al.add("java03");        al.add("java01");        al.add("java02")

  • Java计算交集,差集,并集的方法示例

    本文实例讲述了Java计算交集,差集,并集的方法.分享给大家供大家参考,具体如下: package math; import java.util.HashSet; import java.util.Set; public class Test { public static void main(String[] args) { Set<Integer> result = new HashSet<Integer>(); Set<Integer> set1 = new Ha

  • java中计算集合的交差并集示例代码

    前言 本文主要给大家简单介绍下,如何使用apache commons以及guava的类库来计算集合的交差并集.分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. maven <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>22.0</version> </dependency

  • 关于Java集合框架面试题(含答案)上

    1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector.Stack.HashTable和Array.随着集合的广泛使用,Java1.2提出了囊括所有集合接口.实现和算法的集合框架.在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久.它还包括在Java并发包中,阻塞接口以及它们的实现.集合框架的部分优点如下: (1)使用核心集合类降低开发成本,而非实现我们自己的集合类. (2)随着使用经过严格测试的集合框架类,代

  • Java集合Set、List、Map的遍历方法

    本文实例讲述了Java集合Set.List.Map的遍历方法,分享给大家供大家参考. 具体方法如下: package com.shellway.javase; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.uti

  • java如何对map进行排序详解(map集合的使用)

    今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map 在讲解Map排序之前,我们先来稍微了解下map.map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等.其中这四者的区别如下(简单介绍): HashMap:我们最常用的Map,它根据key的HashCode 值来存储数据,根据key可以直接

随机推荐