java实现列表、集合与数组之间转化的方法_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程序设计有所帮助。

时间: 2024-09-20 03:35:16

java实现列表、集合与数组之间转化的方法_java的相关文章

java数组-集合与数组之间转换,修改后的变化

问题描述 集合与数组之间转换,修改后的变化 集合和数组之间转化,集合转换成数组,数组改变,集合改变吗,反之呢,求大神详细解释下,谢谢啦 解决方案 又是你,不是问过这样的问题了吗? 你去看一下java.util.Arrays.asList()和java.util.ArrayList.toArray()的源码,比看一些人随便的回答好好的多 解决方案二: 如果集合内的元素是简单类型,比如string int short,那么不会改变,反之也不会,如果是对象,那么给集合添加删除元素,不会影响数组,但是改

Java基本类型与byte数组之间相互转换方法_java

Java基本类型与byte数组之间相互转换,刚刚写的 package cn.teaey.utils; import java.nio.charset.Charset; public class ByteUtil { public static byte[] getBytes(short data) { byte[] bytes = new byte[2]; bytes[0] = (byte) (data & 0xff); bytes[1] = (byte) ((data & 0xff00)

java中字符串转换为字节数组请问用什么方法,字符串返回字节数组怎么做?

问题描述 java中字符串转换为字节数组请问用什么方法,字符串返回字节数组怎么做? java中字符串转换为字节数组请问用什么方法,字符串返回字节数组怎么做? 解决方案 http://blog.csdn.net/shuaihj/article/details/7478773http://blog.csdn.net/abin_gha/article/details/6317850 解决方案二: java中String类有getBytes方法,可以将字符串转成字节数组.字节数组可以直接写入到输出流中,

基于Java代码实现数字在数组中出现次数超过一半_java

下文通过几种方法给大家介绍java数组数字出现次数,具体内容如下所示: 方法一: 数组排序,然后中间值肯定是要查找的值. 排序最小的时间复杂度(快速排序)O(NlogN),加上遍历. 方法二: 使用散列表的方式,也就是统计每个数组出现的次数,输出出现次数大于数组长度的数字. 方法三: 出现的次数超过数组长度的一半,表明这个数字出现的次数比其他数出现的次数的总和还多. 考虑每次删除两个不同的数,那么在剩下的数中,出现的次数仍然超过总数的一般,不断重复该过程,排除掉其他的数,最终找到那个出现次数超过

MyBatis传入集合 list 数组 map参数的写法_java

foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合.foreach元素的属性主要有item,index,collection,open,separator,close.item表示集合中每一个元素进行迭代时的别名,index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔符,close表示以什么结束,在使用foreach的时候最关键的也是最容易出错的就是collection属性

java获取日期之间天数的方法_java

本文实例讲述了java获取日期之间天数的方法.分享给大家供大家参考.具体实现方法如下: private int daysBetween(Date now, Date returnDate) { Calendar cNow = Calendar.getInstance(); Calendar cReturnDate = Calendar.getInstance(); cNow.setTime(now); cReturnDate.setTime(returnDate); setTimeToMidni

Java中增强for循环在一维数组和二维数组中的使用方法_java

一维数组: int[] a={1,2,3}; for(int i:a) { System.out.print(i+" "); } 输出:1 2 3 二维数组: import java.util.Scanner; public class tet { public static void main(String[] args) { //int[][] b={{1,2,3},{4,5,6}};行 int[][] a=new int[5][];//必须明确行数 for(int i=0;i&l

java实现两台服务器间文件复制的方法_java

本文实例讲述了java实现两台服务器间文件复制的方法.分享给大家供大家参考.具体分析如下: 通常我们使用最多的文件复制功能就是同服务器之间的文件复制功能,这里介绍的是在普通文件复制上功能升级,可以实现两台服务器实现文件的复制,下面一起来看看代码. 1.服务器端 复制代码 代码如下: package sterning; import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.DataOut

java中javamail发送带附件的邮件实现方法_java

本文实例讲述了java中javamail发送带附件的邮件实现方法.分享给大家供大家参考.具体分析如下: JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输,JavaMail是可选包,因此如果需要使用的话你需要首先从java官网上下载.目前最新版本是JavaMail1.5.0,下面我们来看看javamail发送带附件的邮件实例 mail.java 代码: 复制代码 代码如下: package mail;