/*

* Arrays工具类的使用

*/

public class ArraysTest

{

public static void main(String[] args)

{

// TODO Auto-generated method stub

int [] arr = {2, 2, 4, 5, 6, 6};

//将数组中的所有元素 都打印出来

System.out.println(Arrays.toString(arr));

//asList将数组转成集合

/*

* 好处:  其实可以使用集合的方法操作数组中的元素 。

* 注意:  数组的长度是固定的,所以对于集合的增删方法是不可以使用的。。。否则发生异常。

*/

String[] strs = {"alskd", "lskdfl", "skdjflskd", "yangchao"};

List<String> list = Arrays.asList(strs);

boolean b = list.contains("yangchao");

System.out.println(b);

/*

* 如果数组中的元素时对象,那么转成集合时,直接将数组中的元素作为集合中的元素进行 集合存储

* 如果数组中的元素是基本类型 数值时,那么会将该数组作为集合中的元素进行存储。

*/

int []a = {23, 42, 35};

List list2 = Arrays.asList(a);

System.out.println(list2);

/*

* 集合转为数组。

*

* 使用的就是Collection接口中的toArray方法。

*/

List<String> list3 = new ArrayList<String>();

list3.add("yangchao");

list3.add("liuyaun");

/*toArray方法需要传入一个指定类型的数组

* 如果长度小于集合的size时,那么该法会创建一个同类型的  并和集合相同的size的数组。

* 如果该长度大于集合的size时,那么该方法就会使用指定的数组,存储集合中的元素,  其他位置默认为null。

*/

String[] str3 = list3.toArray(new String[list3.size()]);

System.out.println(Arrays.toString(str3));

}

//toString的经典实现

public static String toString(int[] a)

{

if (a == null)

return "null";

int iMax = a.length - 1;

if (iMax == -1)

return "[]";

StringBuilder b = new StringBuilder();

b.append('[');

for (int i = 0;; i++)//中间省略了长度判断  提高了效率

{

b.append(a[i]);

if (i == iMax)

return b.append(']').toString();

b.append(", ");

}

}

}

l

===================================================================

//使用可变参数

/*函数的可变参数。


其实就是一个数组,但是接收的是数组的元素。

* 自动将这些元素封装成数组,简化了调用者的书写。

*

* 注意:可变参数类型必须定义在参数列表的结尾出

*/

public static int Add(int...arr)

{

int sum = 0;

for (int i = 0; i < arr.length; i++)

{

sum+=arr[i];

}

return sum;

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java——集合框架 工具的更多相关文章

  1. java集合框架——工具类

    一.概述 JAVA集合框架中有两个很重要的工具类,一个是Collections,另一个是Arrays.分别封装了对集合的操作方法和对数组的操作方法,这些操作方法使得程序员的开发更加高效. public ...

  2. Java 集合框架工具类

    Collections Arrays Collections 集合框架的工具类, 里面的方法都是静态的, 可以直接使用类名调用 常用方法 1. sort(List<T> list); // ...

  3. java集合框架工具类Collections,集合的操作

    1 import java.util.*; public class asList { public static void main(String args[]) { // int arr[] = ...

  4. 【JAVA集合框架之工具类】

    一.概述 JAVA集合框架中有两个很重要的工具类,一个是Collections,另一个是Arrays.分别封装了对集合的操作方法和对数组的操作方法,这些操作方法使得程序员的开发更加高效. public ...

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

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

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

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

  7. (Set, Map, Collections工具类)JAVA集合框架二

    Java集合框架部分细节总结二 Set 实现类:HashSet,TreeSet HashSet 基于HashCode计算元素存放位置,当计算得出哈希码相同时,会调用equals判断是否相同,相同则拒绝 ...

  8. Java集合框架List,Map,Set等全面介绍

    Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I]   +--java.util.ArrayList [C]   +- ...

  9. 【集合框架】Java集合框架综述

    一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...

随机推荐

  1. IPAD2 5.1.1越狱后的屏幕不能自动旋转~~~

    己顶,出现这问题的原因是因为越狱安装了插件的原因.问题解决了,大家没有遇到类似的问题吗?问题出在大家都装了一个SBSettings的插件,解决办法就是在这个插件的ISO 5+ Notification ...

  2. hadoop 常见问题

    1.Eclipse 读取hdfs文件错误:  java.io.IO Exception : Could not obtain block: blk_194219614024901469_1100 fi ...

  3. Ubuntu 14.10 下安装navicat

    1 下载navicat,网址http://www.navicat.com.cn/download,我下载的是navicat111_premium_cs.tar.gz 2 解压到合适的位置 3 进入解压 ...

  4. list.clear()和list=null的区别

    以前并没有注意到list.clear()和list=null的区别,其实,区别在于 clear()方法是将list清空,但是对象的引用还在,只不过是一个表现为空引用 list=null是将list对象 ...

  5. 在.net中实现在textbox中按ctrl+enter进行数据的提交

    textbox.Attributes.Add("onKeydown", "if(event.ctrlKey&&event.keyCode == 13){d ...

  6. 在windows上搭建ftp服务

    在控制面板->程序和功能->打开或关闭Windows功能中开启ftp和IIS信息服务管理器 在控制面板->管理工具中打开Internet信息服务管理器->添加ftp站点 建好之 ...

  7. ES6:模块简单解释

    modules是ES6引入的最重要的一个特性. 以后写模块的时候就直接按照ES6的modules语法来写 ,然后用babel+browserify 来打包就行了. modules规范分两部分,一部分是 ...

  8. ORM和Hibernate的配置方式

    分层体系结构: 逻辑上一般分为三层:表述层(提供与用户交互的界面).业务逻辑层(实现各种业务的逻辑).数据库层(负责存放和管理应用的持久性业务数据). 物理上一般分为两层:物理层(每一层都运行在网络上 ...

  9. iOS传值方式:属性,代理,block,单例,通知

    正向传值均可,反向传值除属性传值不可,其余均可.下面简单介绍: (一)属性传值 第二个界面中的lable显示第一个界面textField中的文本 首先我们建立一个RootViewControllers ...

  10. Unity3D ShaderLab 车辆喷漆光照模型实战

    这一篇,我们来创建一个车辆喷漆的光照模型.首先就是准备场景,新建Shader & Material. 过程比较简单,直接看完成的代码吧: Shader "91YGame/CarOut ...