import java.util.*;
/*
数组转成集合。Arrays.asList([]);
注意:变成集合后,长度是固定,不可以使用集合的增删方法。
思想:
通过集合的方式来操作数组。
集合变数组:Collection中的<T> toArray(T[])
高级for循环,必须要有被遍历的目标(Collection 或者 数组)。
*/
class ArraysDemo2
{
public static void main(String[] args)
{
// listToArray();
int[] arr = {4,2,1,7};
for(int i : arr)
{
System.out.println(i);
}
ArrayList<String> al = new ArrayList<String>();
al.add("sdfsdf0");
al.add("sdfsdf1");
al.add("sdfsdf2");
al.add("sdfsdf3");
for(String s : al)
{
System.out.println(s);
}
for(int x=0;x<al.size(); x++)
{
System.out.println(al.get(x));
}
}
/*
集合变数组。
*/
public static void listToArray()
{
ArrayList<String> al = new ArrayList<String>();
al.add("sdfsdf0");
al.add("sdfsdf1");
al.add("sdfsdf2");
al.add("sdfsdf3");
String[] arr = al.toArray(new String[al.size()]);
for(int x=0;x<arr.length; x++)
{
System.out.println(arr[x]);
}
}
/*
数组变集合
*/
public static void arrayToList()
{
// List<String> list = Arrays.asList("abc","kk","heh");
// String[] arr = {"hehe","heihei"};
int[] arr = {4,2,1,7};
List<int[]> list = Arrays.asList(arr);
// list.add("zzz");
System.out.println(list.size());
for(int x=0; x<list.size(); x++)
{
System.out.println(list.get(x));
}
Object obj = new int[2];
int[] arr1 = (int[])obj;
for(int x=0; x<arr1.length; x++)
{
System.out.println(arr1[x]);
}
}
public static void show(int a,String... arr)
{
for(int x=0; x<arr.length; x++)
System.out.println(arr[x]);
}
public static void getSum(int... a)
{
int sum = 0;
for(int x=0; x<a.length; x++)
{
sum += a[x];
}
System.out.println(sum);
}
/*
public static void show(String[] str)
{
}
*/
}
分享到:
相关推荐
Java中数组和集合是两种不同的数据结构,数组是一种固定长度的数据结构,而集合是一种可变长度的数据结构。它们之间的转换是非常重要的,在实际开发中经常会遇到这种情况。下面我们来介绍Java中数组与集合的相互...
集合对象,如`System.ArrayList`,是可变大小的列表,允许动态添加或删除元素。`ArrayList`继承自`System.Collections.ArrayList`,它不像数组那样有固定的大小,因此更加灵活。我们可以使用`Add()`方法向`ArrayList...
而列表则是一种可变长度的数据结构,适合存储未知或可能变化大小的数据集合。在实际开发过程中,我们经常需要将数组转换为列表或将列表转换为数组,以便更好地利用这两种数据结构的特点。接下来,我们将详细介绍如何...
在Java中,我们可以使用`List`的`toArray()`方法将集合转换为数组。这个方法接受一个可选的参数,即目标类型的数组。如果提供了空数组,`toArray()`方法会根据集合的大小创建一个新的数组,并填充集合中的元素。...
- **可变参数不是数组变量**:可变参数只是一个语法上的便利,它在内部会被转换为数组,但你不能直接获取到它的长度或者改变它的大小。 - **可与其他参数一起使用**:一个方法可以同时包含可变参数和其他固定参数,...
1. 大小:数组大小固定,集合大小可变。 2. 存储:数组存储连续内存空间,集合是对象的引用。 3. 空间:数组需要预先知道元素数量,集合则更灵活。 4. 元素:数组支持下标访问,集合支持迭代器遍历。 5. 功能:集合...
在Java编程语言中,数组和集合是两种...通过这些示例,开发者可以更好地理解Java中数组与集合之间的转换,从而在实际项目中灵活运用这两种数据结构。学习并掌握这些知识,将有助于提高代码的可读性、灵活性和维护性。
- **String**:`String`类代表字符序列,是不可变的对象。`String`对象一旦创建后,其内容就不能改变。 - **数组(Array)**:数组是一种基本的数据结构,用于存储固定大小的同类型元素。在Java中,数组的大小是固定的...
1. 长度的可变性:这是数组和集合最显著的区别。数组的长度在声明时指定,之后不能更改,而集合的长度可以在程序运行时动态扩展或收缩。 2. 类型约束:数组只能存储同一种类型的元素,这意味着数组中的所有元素必须...
这里,`toArray()`方法接受一个可变参数的数组作为参数,它会尝试将ArrayList的元素放入这个数组中。如果数组大小不够,`toArray()`会创建一个新的数组。 2. **数组转ArrayList**: 反过来,如果你想将数组转换为...
而字节数组则是一个可变的元素集合,每个元素都是一个字节,可用于存储任意数据,包括文本、图片、音频等。 1. 字符串转字节数组: 在C#中,我们可以使用`System.Text.Encoding`类来完成字符串到字节数组的转换。这...
可变参数允许你在调用函数时传递任意数量的相同类型参数,这对于处理数组或集合数据非常有用。 ### 可变参数的概念 可变参数在Swift中通过在参数名前加上`...`来标识。这种参数类型在函数内部被当作一个数组来处理...
Java 可变参数是Java 1.5引入的一项特性,它允许我们在方法声明时定义一个可以接受任意数量相同类型的参数的方法。...在实际开发中,尤其是在需要处理命令行参数、集合数据等场景下,可变参数是一个非常实用的特性。
如果需要一个可变的List,可以使用ArrayList或其他可变集合类初始化。 总结来说,理解数组和集合之间的差异以及它们在不同情况下的适用性是优化Java代码的关键。在追求性能时,要权衡固定大小和动态扩展之间的利弊...
- 与集合操作结合:可变参数可以方便地与集合类(如ArrayList、LinkedList)配合,进行集合的初始化或处理。 - 类似数组的简便写法:有时候,你可以用可变参数代替显式创建数组,简化代码。例如,`Arrays.asList(1...
在方法内部,数组是可变的,可以修改其元素。 8. **动态数组ArrayList**: - 虽然基本类型的数组长度固定,但可以使用`ArrayList`类创建动态大小的数组。`ArrayList`继承自`List`接口,提供了添加、删除、查找和...
可变参数实际上是一个数组,在编译时会被转换为数组形式。当你传递多个参数给一个可变参数的方法时,这些参数会被自动封装到一个数组中。例如,`printArgumentsInfo("aaa", "bbb", "ccc", "ddd", "eee")` 在编译后,...
此外,Java还提供了`Integer`等包装类,方便处理基本类型数组与对象之间的转换。 10.5 引用类型作方法参数——地址传递 在Java中,方法参数传递总是按值传递,但对象引用(如数组)的值是对象的地址,因此对数组...
然而,数组名本身是不可变的,不能对其进行加减运算。例如,`intArray++;`这样的表达式会导致编译错误。 ```cpp int intArray[10]; intArray++; // 编译错误 ``` 3. **数组名的内涵与外延**: - **内涵**:...
可变参数类型与数组参数相似,但它们不能同时存在于一个类中,因为它们被视为重载方法的不同版本。例如: ```java public static void dealArray(int[] intArray) {...} public static void dealArray(int... ...