集合框架-数组与集合互转

数组和集合类同是容器,有何不同?

数组虽然也可以存储对象,但长度是固定的;集合长度是可变的。

数组中可以对象和存储基本数据类型,集合只能存储对象。

集合框架-数组转成集合

java.util 类 Arrays

* Arrays:用于操作数据的工具类提供了很多常见的方法比如排序,搜索等。

* 该类中的方法都是静态的。

* 数组转成集合   Arrays.asList([]);

* 好处:可以使用集合list的方法来操作数组中的元素。可以使用集合 改查方法,只要不改变数组长度都可以。

* 弊端:不可以使用集合的增删方法。

 
package cn.itcast.p3.arrays;
 
import java.util.Arrays;
import java.util.List;
 
public class ArraysDemo {
    public static void main(String[] args) {
        //int[] arr = {31,99,5,7,2,65};
        //System.out.println(Arrays.toString(arr));
         
        String[] strs = {"abc","hehe","haha","heihei"};
        List<String> lists = Arrays.asList(strs);
        //lists.add("xixi");//UnsupportedOperationException list集合中使用的最终还是这个数组,
        //数组是固定长度的。所以不可以对其进行增删。
        System.out.println(lists);
        System.out.println(lists.contains("haha"));
        //特殊情况:
        int[] nums = {45,12,98};
        /*
         * 如果数组中存储的是基本数据类型值,那么asList会将这个数组实体作为集合中的元素。
         * 如果数组中存储的都是对象,那么aslist会将数组中的元素作为集合中的元素。
         */
        List<int[]> list = Arrays.asList(nums);//存在集合里面的是 数组这一个元素
        System.out.println(list);
        Integer[] nums2 = {56,89,100};
        List<Integer> list2 = Arrays.asList(nums2);
        System.out.println(list2);
    }
     
}

 集合框架-集合转成数组

* 集合转成数组

Collection 接口中的方法 toArray();

T[] toArray(T[])

<T> T[] toArray(T[] a)

将集合转成数组

* 如果传递的数组长度小于集合的长度,在toArray内部会自动创建一个长度和集合相同的数组。用于存储集合的元素。

* 如果传递的数组长度大于等于集合的长度,则使用该数组存储集合的元素。

* 一般情况下,数组的长度最好使用集合的size();

*

* 限定对数组元素的更多操作比如增删。

package cn.itcast.p3.arrays;
 
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
 
public class ToArray {
    public static void main(String[] args) {
     
        Collection<String> coll = new ArrayList<String>();
        coll.add("abc1");
        coll.add("abc2");
        coll.add("abc3");
        String[] arr = coll.toArray(new String[coll.size()]);
        System.out.println(Arrays.toString(arr));
    }
}
时间: 2024-11-25 08:50:49

集合框架-数组与集合互转的相关文章

第14章 集合框架(1)-List集合的各种类

1.概述 1.1.Java集合框架的由来 1.2.什么是集合框架? 1.3.为什么需要集合框架 1.4.常用的框架接口规范 2.Vector类 2.1.存储原理 2.2.构造方法 2.3.常用方法 3.Stack类 3.1.什么是栈 3.2.栈的构造方法和常用方法 4.ArrayList类 5.LinkedList类 5.1定义 5.2.常用方法 1.概述 1.1.Java集合框架的由来 刚开始的时候java只有Vetor,Stack,Hashtable这些同容器类用来保存大量的对象.容器类是可

I学霸官方免费教程三十一:Java集合框架之List集合

集合框架 在数组的使用过程中可以看到,想要向数组中插入元素和删除元素非常麻烦,而且数组的长度是无法改变的.java为我们提供了批量存储数据更加方便的容器,就是集合.集合和数组的作用一样,都是为了使用一个变量来存储一批数据的:但集合使用起来更加方便,而且集合的长度是可以变化的. List接口 List集合可以存储有序的,可重复的数据:常用的子类是ArrayList和LinkedList两个类 ArrayList类 这是一个底层由数组实现的集合类,是对数组进行了封装. 实例: package col

Java集合框架之Collection集合

一.引言 Java集合框架和IO框架一样,看似很庞杂的体系框架,但是当你逐一深入每个集合的用法后,就能明显的看出他们之间的区别和联系.最后拎出一个框架图,就一目了然了.由于Java的集合框架分两大系Collection系和Map系,之所以要分开是因为Collection内存储的是线性集合,而Map的元素是以键值对(Key-Value)的形式存的.其实Map和Collection内部实现是存在联系的,学完就懂了.本文主要介绍的Collection中常用的集合的用法以及之间的区别. 二.Collec

I学霸官方免费教程三十:Java集合框架之List集合

集合框架 在数组的使用过程中可以看到,想要向数组中插入元素和删除元素非常麻烦,而且数组的长度是无法改变的.java为我们提供了批量存储数据更加方便的容器,就是集合. 集合和数组的作用一样,都是为了使用一个变量来存储一批数据的:但集合使用起来更加方便,而且集合的长度是可以变化的. List接口 List集合可以存储有序的,可重复的数据: 常用的子类是ArrayList和LinkedList两个类 ArrayList类 这是一个底层由数组实现的集合类,是对数组进行了封装. 实例: package c

(1)StringBuilder类和StringBuffer类 (2)日期相关的类 (3)集合框架 (4)List集合

1.StringBuilder类和StringBuffer类(查手册会用即可)1.1 基本概念 由于String类描述的字符串内容无法更改,若程序中出现大量类似的字符串时需要申请独立的内存空间单独保存,此时对内存空间的消耗比较大. 为了节省内存空间希望对字符串内容本身直接进行更改,则需要使用java.lang.StringBuilder类或者java.lang.StringBuffer类. 其中StringBuffer类是从jdk1.0开始存在,是一个线程安全的可变字符序列,效率比较低 其中St

集合框架之链表集合算法

链表集合算法: 1.链=引用 2.链表集合与数组集合的区别:在增值方面,数组集合的速度比链表集合算法[学Java,到凯哥学堂kaige123.com]的速度要快:但是链表集合在增删值和修改值方面要更灵活,它的原理就好比链条. 3.链表的分类: 3.1单链集合(了解即可):上家能找到下家,但是下家找不到上家,即通过上一个数组可以找到下一个数组,但是没办法通过下一个数组找到上一个数组.如下图: 3.2双链集合:上家能找到下家,下家也能找到上家.如下图: 4.代码实现(以双链为例): 4.1添加值 4

I学霸官方免费教程三十三:Java集合框架之Map集合

Map接口 Map集合采用键值对(key-value)的方式存储数据,其中键不可以重复.值可以重复. 常用类有HashMap.TreeMap和Properties HashMap类 假如,现在我有一个集合,集合中存储着一批WiFi的名称和密码,现在要求通过名称快速找到密码.这样的需求使用List集合实现起来非常困难,Java为我们提供了另一种形式的集合,可以很好的解决这样的问题.就是Map集合. 实例: package map.hashMap; import java.util.HashMap;

I学霸官方免费教程三十二:Java集合框架之Set集合

Set接口 Set集合是无序的.元素不可重复的结合常用集合类有HashSet和TreeSet HashSet类常用的两种List集合各有各的优点,那么有没有同时具备这两种List集合的优点的集合呢?答案是肯定的,就是Set集合. 实例: package collection.set.hashSet; import java.util.HashSet; import java.util.Iterator; /**  * 演示HashSet  * @author 学霸联盟 - 赵灿  */ publ

深入理解java集合框架之---------Arraylist集合 -----构造函数

ArrayList有三个构造方法 ArrayList有三个常量 1.private transient Object[] elementData (数组); 2.private int size (元素个数) 1.ArrayList(int initialCapacity); 构造一个初始容量的集合 /** * 序列化 */ private static final long serialVersionUID = -6277824875242725854L; /** * 定义一个数组 */ pr