- 浏览: 80861 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (95)
- Linux(CentOS) (17)
- ubuntu (16)
- linux命令 (13)
- java基础 (8)
- eclipse maven (1)
- ubuntu xen (0)
- samba (1)
- jdk (1)
- linux (1)
- jenkins (1)
- MySQL (4)
- spring (1)
- redis (2)
- zookeeper (3)
- java多线程 (3)
- 线程池 (2)
- 工具类 (1)
- 技术问答 (1)
- 算法 (1)
- eclipse JVM (1)
- hadoop配置 (2)
- hadoop配置 HDFS (0)
- ubuntu svn (1)
- hadoop (5)
- mapReduce (1)
- HDFS (2)
- hive (3)
- flume (1)
- python (6)
- centos (1)
- svn (1)
- sonar (1)
- JVM (1)
- kafka (1)
- zabbix (1)
- python paramiko (1)
- TPS (1)
- docker (4)
- ssh (2)
- Go (1)
最新评论
1、将数组转化为一个列表
Arrays.asList()会返回一个ArrayList对象,ArrayList类是Arrays的一个私有静态类,而不是java.util.ArrayList类,java.util.Arrays.ArrayList类有set()、get()、contains()方法,但是没有增加元素的方法,所以它的大小是固定的,想要创建一个真正的ArrayList类,你应该这样做:
测试程序如下:
控制台报错:
正确代码:
控制台输出:
2
3
2、用Arrays的asList()生成的List时,获取List元素的个数
输出结果
如果直接传递数组,基本类型数组将被视为一个对象而不会被解析成数组,如果直接传递参数将能正常解析。
下面的写法更加清晰
================解释如下====================
如果是基本类型数组,自动装箱将数组包装为对象如 int[] intArray = new int[] { 1, 2}; T... a 就是 [[1, 2]],可以看到 a 的 size 将为 1
如果是对象数组,不需要自动装箱如 Integer[] integerArray = new Integer[] { 1, 2}; T... a 就是 [1, 2],可以看到 a 的 size 将为 2
其实只要记住这句话就ok了:
基本类型的一位数组可以被当作Object类型使用(1.5),不能当做Object[]类型使用(1.4);非基本类型的一维数组,既可以当做Object类型使用(1.5)也可以当做Object[]类型使用(1.4)
3、把提供的数组元素放入一个字符串
List<String> list = Arrays.asList(arr);
Arrays.asList()会返回一个ArrayList对象,ArrayList类是Arrays的一个私有静态类,而不是java.util.ArrayList类,java.util.Arrays.ArrayList类有set()、get()、contains()方法,但是没有增加元素的方法,所以它的大小是固定的,想要创建一个真正的ArrayList类,你应该这样做:
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr));
测试程序如下:
List<String> list = Arrays.asList("jzk","wyq"); System.out.println(list.size()); list.add("jdd"); System.out.println(list.size());
控制台报错:
Exception in thread "main" java.lang.UnsupportedOperationException at java.util.AbstractList.add(AbstractList.java:131) at java.util.AbstractList.add(AbstractList.java:91)
正确代码:
List<String> list = new ArrayList<String>(Arrays.asList("jzk","wyq")); System.out.println(list.size()); list.add("jdd"); System.out.println(list.size());
控制台输出:
2
3
2、用Arrays的asList()生成的List时,获取List元素的个数
//经多次测试,只要传递的基本类型的数组,生成List的元素个数均为1 char arrc = {'a','b'}; int arrint = {1,2,4}; Arrays.asList(arrc).size() ;// 结果为1; Arrays.asList(arrint ).size() ;//结果为1; //传递对象数组,元素个数正确。 String arrstr = {"a","b","java","spring","hadoop","lucene"}; Arrays.asList(arrstr ).size() ;//结果为6;
public class TestArray { PrintStream out = System.out; @Test public void array() { char[] arrc = {'a','b','c','d','e'}; out.println("传递char数组:"); print(arrc); out.println("直接传递:"); print('a','b','c','d','e'); out.println("----------------------------"); int[] arri = {1,2,3,4,5,6,7}; out.println("传递int数组:"); print(arri); out.println("直接传递:"); print(1,2,3,4,5,6,7); out.println("----------------------------"); Integer[] arrInt = {1,2,3,4,5,6,7}; out.println("传递Integer数组:"); print(arrInt); out.println("直接传递:"); print(1,2,3,4,5,6,7); out.println("----------------------------"); String[] arrs = {"a","b","c","d","e"}; out.println("传递String数组:"); print(arrs); out.println("直接传递:"); print('a','b','c','d','e'); out.println("----------------------------"); } public void print(Object...arr){ out.print("内容:"+Arrays.toString(arr)); out.println("\t\t数组长度:"+arr.length+" "); } }
输出结果
传递char数组: 内容:[[C@defa1a] 数组长度:1 直接传递: 内容:[a, b, c, d, e] 数组长度:5 ---------------------------- 传递int数组: 内容:[[I@f5da06] 数组长度:1 直接传递: 内容:[1, 2, 3, 4, 5, 6, 7] 数组长度:7 ---------------------------- 传递Integer数组: 内容:[1, 2, 3, 4, 5, 6, 7] 数组长度:7 直接传递: 内容:[1, 2, 3, 4, 5, 6, 7] 数组长度:7 ---------------------------- 传递String数组: 内容:[a, b, c, d, e] 数组长度:5 直接传递: 内容:[a, b, c, d, e] 数组长度:5 ----------------------------
如果直接传递数组,基本类型数组将被视为一个对象而不会被解析成数组,如果直接传递参数将能正常解析。
下面的写法更加清晰
int[] intArray = {1,2,3}; List<int[]> myList = Arrays.asList(intArray); System.out.println(myList.size()); System.out.println(myList.get(0).length);
================解释如下====================
/** * Returns a fixed-size list backed by the specified array. (Changes to * the returned list "write through" to the array.) This method acts * as bridge between array-based and collection-based APIs, in * combination with {@link Collection#toArray}. The returned list is * serializable and implements {@link RandomAccess}. * * <p>This method also provides a convenient way to create a fixed-size * list initialized to contain several elements: * <pre> * List<String> stooges = Arrays.asList("Larry", "Moe", "Curly"); * </pre> * * @param a the array by which the list will be backed * @return a list view of the specified array */ public static <T> List<T> asList(T... a) { return new ArrayList<T>(a); }
如果是基本类型数组,自动装箱将数组包装为对象如 int[] intArray = new int[] { 1, 2}; T... a 就是 [[1, 2]],可以看到 a 的 size 将为 1
如果是对象数组,不需要自动装箱如 Integer[] integerArray = new Integer[] { 1, 2}; T... a 就是 [1, 2],可以看到 a 的 size 将为 2
其实只要记住这句话就ok了:
基本类型的一位数组可以被当作Object类型使用(1.5),不能当做Object[]类型使用(1.4);非基本类型的一维数组,既可以当做Object类型使用(1.5)也可以当做Object[]类型使用(1.4)
3、把提供的数组元素放入一个字符串
// containing the provided list of elements // Apache common lang String j = StringUtils.join(new String[] { "a", "b", "c" }, ", "); System.out.println(j); // a, b, c
发表评论
-
数组中最大和的子数组
2014-12-18 19:49 561public static void main ... -
泛型复习
2014-10-19 16:29 382绕过编译器加入其他类型 import java.util. ... -
Hash内存溢出问题
2014-10-19 11:30 508public class Student { p ... -
Java数组操作的10大方法
2014-08-28 15:36 4950、定义一个Java数组 String[] aArray ... -
JVM系列一
2014-07-04 21:52 0当JVM运行Java程序的时候,它会加载对应的class文件, ... -
java的反射和代理实现IOC模式 模拟spring
2014-07-03 16:59 720转自http://blog.csdn.net/wwww1988 ... -
Java 自动装箱与拆箱
2014-07-01 14:37 574PS:基本转载于 http://blog.csdn.net/ ... -
java在一个循环中删除列表中元素的问题
2014-07-01 11:39 521思考下面这段代码的结果: ArrayList<Str ...
相关推荐
#### 四、Array、ArrayList 与 List 之间的转换 **Array 转换为 ArrayList** 可以使用 `ToArray` 方法将 `ArrayList` 转换为 `Array`: ```csharp ArrayList al = new ArrayList { 1, 2, 3 }; int[] arr = (int[]...
- **Set转Array**: 与List相似,你可以先将Set转换为List,再将List转换为Array: ```java Set<String> set = ...; List<String> list = new ArrayList(set); String[] array = new String[list.size()]; list...
javascript array list into setjavascript array list into setjavascript array list into setjavascript array list into setjavascript array list into setjavascript array list into setjavascript array ...
### JS List的contains方法与Array的contains方法的使用 在JavaScript中,`Array`是用于存储多个值的数据结构。然而,原生JavaScript并没有提供一个直接的`contains`方法来检查数组是否包含某个元素。通常情况下,...
### Python中的列表(List)及其与数组(Array)的相互转换 #### 一、Python中的列表(List) **1.1 列表的基本概念** 列表是Python中最常用的数据结构之一,它是一种有序集合,支持动态添加和删除元素。列表中的元素...
#ifndef __LIST_H__ #define __LIST_H__ struct list; struct list *list_init(); void list_free(struct list *list); int list_isempty(struct list *list); void list_clear(struct list *list); int list_...
本篇将深入探讨Java中如何实现Array与List之间的相互转换。 一、Array到List的转换 1. 使用Arrays类的asList()方法 Java标准库中的Arrays类提供了一个asList()方法,可以将数组直接转换为ArrayList类型的List。...
在处理JSON时,我们有时需要将JSON字符串转换为Java中的各种数据类型,如List、Array、Map和自定义对象。本文将详细介绍如何进行这些转换,并提供一个封装好的转换方法和示例。 1. **String to List** JSON字符串...
Collection与Collections,Array与Arrays的区别 Collection与Collections的区别: Collection是一个接口,位于java.util包下,是各种集合结构的父接口。它提供了最基本的集合操作,如add、remove、contains等。...
在处理List集合时,我们有时需要将其转换为数组,以便进行更高效的操作,例如遍历、排序或与数组相关的其他操作。这就需要用到toArray()方法。 `toArray()`方法的基本用法如下: ```java List<String> list = new ...
以上这篇对numpy的array和python中自带的list之间相互转化详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:pytorch: tensor类型的构建与相互转换...
本压缩包文件"VC.plug.in.module.development.array.list.rar_vc array"显然关注的是如何使用VC来构建一个数组列表插入模块。下面我们将深入探讨这一主题,讲解如何在VC中设计和实现这样的模块,以及涉及的关键知识...
本主题主要探讨的是如何使用Gson库处理JSON数据与Java中的Bean、Array、List、Map以及简单类型的相互转换。 首先,我们来看JSON与Java Bean之间的转换。Java Bean是一种具有特定属性和方法的对象,它们通常用来封装...
在这个"VC.add.programming.array.list.rar_vc list"压缩包中,我们很显然会找到与在Visual C++ (VC) 中创建和操作数组列表相关的编程代码。数组列表在编程中扮演着重要角色,因为它提供了对动态大小数组的操作能力...
public static Oracle.DataAccess.Types.OracleArray ConvertToListArray(List<MyType> myList) { OracleConnection conn = new OracleConnection("your_connection_string"); OracleDataAdapter adapter = new ...
常见的集合映射类型有 Set、List、Array、Map 和 Bag 等,每种类型都有其特点和应用场景。 Set 集合映射 Set 集合是 Hibernate 中基础的集合类型,元素数据一般使用外键同主表关联。Set 集合非常适用于集合元素不...
标题 "Javapython for leetcode 1 array2 list3 string4 hashtable5 m.zip" 提供的信息表明,这个压缩包包含了一系列与LeetCode题目相关的Java和Python编程解决方案,重点涉及了数组、列表、字符串、哈希表(或字典...
在本节中,我们重点介绍GEE中的三种主要数据类型:字典(Dictionary)、列表(List)和数组(Array)。这三者构成了数据结构的基础,它们各自具有不同的特性、用途和使用方法。 首先,让我们来了解字典(Dictionary...
与Python内置的`list`类似,NumPy数组也可以进行拷贝操作。 #### 数组切片 vs 复制 - **数组切片**:在NumPy中,使用切片操作创建的新数组实际上是原始数组的一个视图,而不是独立的副本。这意味着对视图的任何...
array和asarray都可以将结构数据...从中我们可以看出np.array与np.asarray功能是一样的,都是将输入转为矩阵格式。当输入是列表的时候,更改列表的值并不会影响转化为矩阵的值。 2.输入为数组时 a=np.random.random(