Arrays

Arrays:用于操作数组的工具类,里面都是静态方法

---数组变集合

1.asList:将数组变成List集合

把数组变成list集合的好处?可以使用集合的思想和方法来操作数组中的元素

注意:将数组变成集合,不可以使用集合的增删方法,因为数组的长度是固定的,如果发生了增删操作,那么会发成不支持操作异常(UnsupportedOperationException)

2.如果数组中的元素都是对象,那么变成集合时,数组中的元素就直接转成集合中的元素

如果数组中的元素都是基本数据类型,那么会将该数组作为集合中的元素存在

方法代码示例:

package Arrays;
import java.util.*; public class ArraysDemo1 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] arr = {1,2,3};
System.out.println(Arrays.toString(arr));
System.out.println("-----------");
//asList将数组变成集合
String[] arr1 = {"a","cc","kkkk"};
List<String> list = Arrays.asList(arr1);
sop(list);
System.out.println("-----------"); /* 如果数组中的元素都是对象,那么变成集合时,数组中的元素就直接转成集合中的元素
如果数组中的元素都是基本数据类型,那么会将该数组作为集合中的元素存在*/
int [] arr2 = {1,2,3};
List list2 = Arrays.asList(arr2);
sop(list2);
System.out.println("-----------");
Integer[] arr3 = {4,5,6};
List list3 = Arrays.asList(arr3);
sop(list3); }
public static void sop(Object obj){
System.out.println(obj+",");
} }

集合变数组:Collection接口中的toArray方法

  1. 指定类型的数组到底要定义多长那?

当指定类型的数组长度小于了集合的size,那么该方法内部会创建一个新的数组,长度为集合的size

当指定类型的数组长度大于了集合的size,就不会新创建数组,而是使用传递进来的数组

所以创建一个刚刚好的数组最优

  1. 为什么要将集合变为数组?

为了限定对元素的操作。不需要进行增删了

package Arrays;

import java.util.*;

public class CollectionToArrayDemo {

    /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<String> list = new ArrayList<String>();
list.add("abc1");
list.add("abc2");
list.add("abc3"); String[] arr = list.toArray(new String[list.size()]);
System.out.println(Arrays.toString(arr)); } }

集合框架(06)Arrays的更多相关文章

  1. Java集合框架:Arrays工具类

    java.util.Arrays类能方便地操作数组,它提供的方法都是静态的.整个Arrays工具类的实现有3000+行.可是归纳总结一下可知它有下面功能(9个): 1. asList 定义: @Saf ...

  2. 【集合框架】JDK1.8源码分析之Collections && Arrays(十)

    一.前言 整个集合框架的常用类我们已经分析完成了,但是还有两个工具类我们还没有进行分析.可以说,这两个工具类对于我们操作集合时相当有用,下面进行分析. 二.Collections源码分析 2.1 类的 ...

  3. JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)

    package com.itcast.test20140113; import java.util.ArrayList; import java.util.Arrays; import java.ut ...

  4. [黑马程序员] 集合框架2——Map系 & 集合工具类(Collections、Arrays)

    ---------------------- ASP.Net+Android+IO开发..Net培训.期待与您交流! ---------------------- 0. 集合框架按其所实现的接口, 大 ...

  5. Java基础---泛型、集合框架工具类:collections和Arrays

    第一讲     泛型(Generic) 一.概述 1.JDK1.5版本以后出现的新特性.用于解决安全问题,是一个类型安全机制. 2.JDK1.5的集合类希望在定义集合时,明确表明你要向集合中装入那种类 ...

  6. java基础37 集合框架工具类Collections和数组操作工具类Arrays

    一.集合框架工具类:Collections 1.1.Collections类的特点 该工具类中所有的方法都是静态的 1.2.Collections类的常用方法 binarySearch(List< ...

  7. Java中的集合框架-Collections和Arrays

    上一篇<Java中的集合框架-Map>把集合框架中的键值对容器Map中常用的知识记录了一下,本节记录一下集合框架的两个工具类Collections和Arrays 一,Collections ...

  8. 浅谈集合框架六——集合扩展:Arrays工具类、集合与数组相互转换方式;

    最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...

  9. 集合框架-工具类-Arrays方法介绍

    1 package cn.itcast.p3.toolclass.arrays.demo; 2 3 import java.util.Arrays; 4 5 public class ArraysDe ...

  10. JavaSE_ 集合框架 总目录(15~18)

    JavaSE学习总结第15天_集合框架1 15.01 对象数组的概述和使用15.02 对象数组的内存图解15.03 集合的由来及与数组的区别15.04 集合的继承体系图解15.05 Collectio ...

随机推荐

  1. Entity Framework(二)

    1. ORM :Object Relation Mapping ,通俗说:用操作对象的方式来操作数据库. 2. 插入数据不再是执行Insert,而是类似于 Person p=new Person() ...

  2. Python全栈工程师(函数嵌套、变量作用域)

    ParisGabriel   感谢 大家的支持                                                               每天坚持 一天一篇 点个订阅 ...

  3. ironic baremetal rescue process

    1.用户调用Nova的rescue函数 nova/virt/ironic/driver.py class IronicDriver(virt_driver.ComputeDriver): ...... ...

  4. A. Vasya and Book

    题目原址 http://codeforces.com/contest/1082/problem/A 题目内容 一共n页书,现在位于第x位,想要看第y页,每次只能翻d页,注意总能翻到第1页和第n页. V ...

  5. php利用PHPExcel类导出导入Excel用法

    PHPExcel类是php一个excel表格处理插件了,下面我来给大家介绍利用PHPExcel类来导入与导出excel表格的应用方法,有需要了解的朋友不防参考参考(PHPExcel自己百度下载这里不介 ...

  6. 爬虫:Scrapy11 - Logging

    Scrapy 提供了 log 功能.可以通过 scrapy.log 模块使用.当前底层实现使用了 Twisted logging,不过可能在之后会有所变化. log 服务必须通过显式调用 scrapy ...

  7. usb host和device的关系-ARM 论坛 - 21ic电子技术论坛

    usb host和device的关系 疑问1:我们通常所用的u盘应该是usb device吧?我想这个不用多说,呵呵. ===============恩.============== 疑问2:我们通常 ...

  8. 写把proto函数搞清楚

    在做blk层之前,先把proto搞清楚 ffi_lua metatype可以给函数加方法, lua中冒号是啥意思?冒号会传入self,但是点号不会传入self

  9. apache+mysql+php实现最大负载的方法

    1. 生成静态html页面,squid反向代理,apache,MySQL的负载均衡. 2. 可以采取数据缓存的方法,我们通常在统计数据的时候,需要在原始数据的基础上经过计算等一系列操作,才会得到最终的 ...

  10. java中的Timer

    一个java中用Timer做的简单定时器小程序. package com.test.lx; import java.util.TimerTask; public class TimeTaskTest ...