Android开发之数组和List之间的转换

1.List转换成为数组。(这里的List是实体是ArrayList)

调用ArrayList的toArray方法。

  toArray

 public <T> T[] toArray(T[] a)返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时类型。如果列表能放入指定的数组,则返回放入此列表元素的数组。否则,将根据指定数组的运行时类型和此列表的大小分配一个新的数组。

  如果指定的数组能容纳列表并有剩余空间(即数组的元素比列表的多),那么会将数组中紧跟在集合末尾的元素设置为 null。这对确定列表的长度很有用,但只 在调用方知道列表中不包含任何 null 元素时才有用。

指定者:

接口 Collection<E> 中的 toArray

指定者:

接口 List<E> 中的 toArray

覆盖:

类 AbstractCollection<E> 中的 toArray

参数:

a - 要存储列表元素的数组,如果它足够大的话;否则,它是一个为存储列表元素而分配的、具有相同运行时类型的新数组。

返回:

包含列表元素的数组。

抛出:

ArrayStoreException - 如果 a 的运行时类型不是此列表中每个元素的运行时类型的超类型。

具体用法:

List list = new ArrayList();

list.add("1");

list.add("2");

final int size = list.size();

String[] arr = (String[])list.toArray(new String[size]);

2.数组转换成为List。

调用Arrays的asList方法.

asList

public static <T> List<T> asList(T... a)返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直写”到数组。)此方法同 Collection.toArray 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess。

此方法还提供了一个创建固定长度的列表的便捷方法,该列表被初始化为包含多个元素:

List stooges = Arrays.asList("Larry", "Moe", "Curly");

参数:

a - 支持列表的数组。

返回:

指定数组的列表视图。

另请参见:

Collection.toArray()

具体用法:

String[] arr = new String[] {"1", "2"};

List list = Arrays.asList(arr);

数组->List (StringArrayTest.java)   

import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;

public class StringArrayTest
{
   public static void main(String[] args)
   {
      String[] words = {"ace", "boom", "crew", "dog", "eon"};

      List<String> wordList = Arrays.asList(words);

      for (String e : wordList)
      {
         System.out.println(e);
      }
   }
}

比较傻的做法

String[] words = { ... };
List<String> list = new ArrayList<String>(words.length);
for (String s : words) {
    list.add(s);
}

另外一种方法:

import java.util.Collections;

List myList = new ArrayList();
String[] myStringArray = new String[] {"Java", "is", "Cool"};

Collections.addAll(myList, myStringArray);
时间: 2024-12-22 04:57:50

Android开发之数组和List之间的转换的相关文章

Android开发系列之屏幕密度和单位转换

由于Android的开源性,所以目前市面上面Android手机的分辨率特别多,这样的话就给我适配带来了一定的难度.要想做好适配,我们首先应该明白什么是分辨率.PPI.屏幕大小等概念,还有在不同的屏幕密度下,各个单位之间的转换关系. 屏幕大小指屏幕对角线的长度,通常使用"寸"来度量. 分辨率是指手机屏幕的像素点个数,例如720X1280就是指屏幕的宽有720个像素点,而高有1280个像素点. DPI每英寸像素,它是由对角线的像素点数除以屏幕的大小得到的.所以屏幕的密度对应关系为:,正是由

Android中dip(dp)与px之间单位转换

px   :是屏幕的像素点in    :英寸mm :毫米pt    :磅,1/72 英寸dp   :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1pxdip  :等同于dpsp   :同dp相似,但还会根据用户的字体大小偏好来缩放.建议使用sp作为文本的单位,其它用dip 针对dip和px 的关系,做以下概述: QVGA屏density=120:          QVGA(240*320) HVGA屏density=160:          HVGA(320*480

byte[]数组和int之间的转换(转)

本帖转自:h t t p://blog.csdn.net/sunnyfans/article/details/8286906 1.int与byte[]之间的转换(类似的byte short,long型) 1 /** 2 * 将int数值转换为占四个字节的byte数组,本方法适用于(低位在前,高位在后)的顺序. 和bytesToInt()配套使用 3 * @param value 4 * 要转换的int值 5 * @return byte数组 6 */ 7 public static byte[]

byte[]数组和int之间的转换

unsigned char head[2];            //标识头    0x64,0xa4 unsigned char cmd;                //命令号,  0x03 unsigned char cmd_id;             //命令类型,0x00 unsigned char serial[6];          //设备序列号,MAC 地址 unsigned char cmd_len[2];         //命令长度,低位在前 unsigned 

Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换

public class DigitalTrans { /** * 数字字符串转ASCII码字符串 * * @param String * 字符串 * @return ASCII字符串 */ public static String StringToAsciiString(String content) { String result = ""; int max = content.length(); for (int i = 0; i < max; i++) { char c

数组与List之间的转换

1. List 转换为数组 语法:<T> T[ ]  toArray(T[ ] a); public void listToArray(){ List<String> list=new ArrayList<String>(); list.add("one"); list.add("two"); list.add("three"); //有效代码 String[] arr=list.toArray(new Str

Android Drawable、Bitmap、byte[]之间的转换

转自http://blog.csdn.net/june5253/article/details/7826597 1.Bitmap-->Drawable Bitmap drawable2Bitmap(Drawable drawable) { if (drawable instanceof BitmapDrawable) { return ((BitmapDrawable) drawable).getBitmap(); } else if (drawable instanceof NinePatch

Android中dip(dp)与px之间单位转换 dip2px dp转px 无context算法(以及获取获取屏幕宽度和高度)

废话不多说直接上代码: 1.dip2px  dp转px  无context算法 public static int px2dip(int pxValue) { final float scale = Resources.getSystem().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); } public static float dip2px(float dipValue) { final float s

js 中 数组和字符串之间的转换

var abc = new Array(a,b,c,d,e); abc.join('-') // 结果 : a-b-c-d-e-f var obk = 'a-b-c-d-e'; obk.split('-') // 结果 :['a','b','c','d','e','f'] split 和 join 就相当于 php的explode和implode 原文地址:https://www.cnblogs.com/G921123/p/10184529.html