文档章节

Arrays是专门用于操作数组的工具类

chenruibing
 chenruibing
发布于 2015/06/14 09:54
字数 617
阅读 93
收藏 5
点赞 0
评论 0

排序或者查找数组里面的内容

多值传递

集合转数组

数组转集合

数组转字符串

/*
  Arrays 是用于操作数组的工具类,里面全是静态的,和Collections是用来操作集合的工具类是不一样的
  当import导入的没有说明static,那么就说明是导入包中的所有类,
  如果说明是static的时候就说明导入的是某个类的所有静态成员,记得要加上static的说明符号。

  import static java.lang.System.*;

*/
import java.util.*;
public class anli
{
	public static void main (String[] args)
	{
		
		//tostringdemo();  //把数组转化为字符串
		//alistdemo();     //把数组转换为集合
		//toarraydemo();     //集合转化为数组  Collections里面的方法
		//kebiancanshu(2,1,4,5,6,3,8);  //可变参数的设置。
		//oftenuse();   //有和collections一样的常用操作,只不过这个操作的对象是数组。。。
		
	}
	public static void oftenuse()
	{
		int[] arr = {2,5,1,3,8,6,4,7,9,0};
		Arrays.sort(arr);
		sop(Arrays.toString(arr));
		sop(Arrays.binarySearch(arr,5));
		sop(Arrays.binarySearch(arr,10)); //数据不存在时,返回(-位置-1),这里返回的是-11

	}
	//多值传递
	public static void kebiancanshu(int... arr)  //也可以在主函数中把数据存在数组
	{                                            //然后把数组传递过来,只是比较麻烦。
		for(int num : arr)                       //如果有其他参数传递进来,一定要放在可变参数的前面
		{
			sop(num);
		}
	}
	//集合转数组
	public static void toarraydemo()
	{
		List<String> list = new ArrayList<String>();
		list.add("fafda");
		list.add("sdfa");
		list.add("gdas");
		list.add("fgrg");
		String[] arr = list.toArray(new String[list.size()]);//toArrray的参数传递方式
		sop(Arrays.toString(arr));

		for(String term : arr)     //高级版for循环。。。缺点就是只能取数据,不灵活。。。
		{
			sop(term);
		}
	}
	//数组转集合
	public static void alistdemo()
	{   //由数组转化而成的集合是不可以进行增删的,因为数组的长度是固定不变的。
		String [] arr = {"sfa","dsagg","ghg","trytrh"};
		List<String> list = new ArrayList<String>();
		list = Arrays.asList(arr);
		sop(list);

		Integer [] arrs = {1,2,3}; //Integer和int是不一样的,一个是对象,一个是基本数据类型
		List<Integer> intlist = new ArrayList<Integer>(); //List是不可以传递int等基本数据类型的作为泛型的
		intlist = Arrays.asList(arrs);
		sop(intlist);

		int [] intarr = {1,2,3};
		List<int[]> ilist = new ArrayList<int[]>(); //可以传递 int[] 等数据类型。
		ilist = Arrays.asList(intarr);//只有对象才会按数据传递,如果是基本数据类型就把整个数组当做一个集合元素
		sop(ilist);   //这里输出的是 intarr(也就是第一个集合元素) 的哈希值。

	}
	//数组转字符串
	public static void tostringdemo()
	{
		int [] arr = {2,3,4};
		String str = Arrays.toString(arr);
		sop(str);
	}
	public static void sop(Object obj)
	{
		System.out.println(obj);
	}
}



© 著作权归作者所有

共有 人打赏支持
chenruibing
粉丝 12
博文 201
码字总数 109101
作品 0
潮州
Arrays.asList的实现

今天看Java编程思想看到容器这块的时候,发现说了Arrays.asList方法的一些特别之处,所以写篇博文来记录一下。 Arrays是一个数组的工具类,用于操作数组。 public static <T> List<T> Arrays...

Antin_zhu ⋅ 2016/07/01 ⋅ 0

Java 集合系列01之 总体框架

Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.* Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、...

东方神剑 ⋅ 2015/12/16 ⋅ 0

Java中List的集合

List集合代表一个元素有序、可重复的集合,集合中的每一个元素都有其对应的顺序索引,List集合允许使用重复元素,可以通过索引来访问指定位置的集合元素。 1.List作为Collection接口的子接口...

西红柿的眼泪 ⋅ 2016/07/14 ⋅ 0

正确认识Arrays.asList方法

Arrays工具类提供了一个方法asList, 使用该方法可以将一个变长参数或者数组转换成List 。 其源代码如下: 运行上述程序,输出如下内容。 心血来潮,突然想在创建的列表中添加一个字符串“Coo...

王孟君 ⋅ 2016/10/20 ⋅ 11

Java中常用的类

1.java类都是Object类的子类,所有任何Java对象都可以调用Object类的方法。 Object类提供如下常用的方法。boolean equals(Object obj):判断指定对象与该对象是否相等,此处相等时标准的两...

西红柿的眼泪 ⋅ 2016/07/12 ⋅ 0

Java中Vector和ArrayList的区别

首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。3个具体实现类的相关区别...

bxst ⋅ 2017/07/13 ⋅ 0

Java中Vector和ArrayList的区别

首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复。3个具体实现类的相关区别...

ke_ry ⋅ 2016/08/29 ⋅ 0

Java集合族谱总结

集合族谱核心成员 集合族谱核心成员 所有的集合类,都实现了Iterator接口,这是用于遍历集合中元素的接口;Java集合框架核心是两个类型的容器,一种是集合(Collection),存储单一元素,一种...

翻滚吧李博 ⋅ 2017/12/19 ⋅ 0

java容器详解(一)array与Arrays

java中的容器主要分为三种:长度(大小)固定的Array(即数组)、不固定长度的Collection与Map。(本文参考sun jdk 1.6的实现) 本章先介绍Array与Arrays。 Array就是数组,也就是长度固定的容器,...

pseudo ⋅ 2013/06/11 ⋅ 0

Collection:List、SetMap:HashMap、HashTable

基础知识 在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便。这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且...

颖辉小居 ⋅ 2016/01/29 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

win环境下jdk7与jdk8共存配置

1.jdk安装包 jdk安装包 安装步骤略 2.jdk等配置文件修改 在安装JDK1.8时(本机先安装jdk1.7再安装的jdk1.8),会将java.exe、javaw.exe、javaws.exe三个文件copy到了C:\Windows\System32,这...

泉天下 ⋅ 18分钟前 ⋅ 0

windows profesional 2017 build problem

.net framework .... https://stackoverflow.com/questions/43330915/could-not-load-file-or-assembly-microsoft-build-frameworkvs-2017...

机油战士 ⋅ 52分钟前 ⋅ 0

python3中报错的解决方法(长期更新)

1、ImportError: No module named ‘DjangoUeditor’ 出错原因:安装DjangoUeditor库适用于python2,需要下载适用python3的 下载地址:https://github.com/twz915/DjangoUeditor3 2、python3......

xiaoge2016 ⋅ 57分钟前 ⋅ 0

数据结构与算法之双向链表

一、双向链表 1.双向链表的结点结构 typedef struct DualNode{ ElemType data; struct DualNode *prior; // 前驱结点 struct DualNode *next; // 后继结点}DualNode, *DuL...

aibinxiao ⋅ 今天 ⋅ 0

五大最核心的大数据技术

大数据技术有5个核心部分,数据采集、数据存储、数据清洗、数据挖掘、数据可视化。关于这5个部分,有哪些核心技术?这些技术有哪些潜在价值?看完今天的文章就知道了。 大数据学习群:7165810...

董黎明 ⋅ 今天 ⋅ 0

PhpStorm 头部注释、类注释和函数注释的设置

首先,PhpStorm中文件、类、函数等注释的设置在:setting-》Editor-》FIle and Code Template-》Includes下设置即可,其中方法的默认是这样的: /**${PARAM_DOC}#if (${TYPE_HINT} != "v...

nsns ⋅ 今天 ⋅ 0

spring.net AOP

http://www.springframework.net/doc-latest/reference/html/aop-quickstart.html https://www.cnblogs.com/wujy/archive/2013/04/06/3003120.html AOP系列(一)——ProxyFactoryObject 显式创......

whoisliang ⋅ 今天 ⋅ 0

【HAVENT原创】创建 Dockerfile 生成新的镜像,并发布到 DockerHub

注意:Win7 与 Win10 的版本存在差异,Win7 版本使用 Docker Quickstart Terminal 进入控制台,Win10下面直接用管理员权限打开控制台或者 PowerShell 即可;另外 Win7 下面只能访问 C盘,/ap...

HAVENT ⋅ 今天 ⋅ 0

pom.xml出现web.xml is missing ...解决方案

提示信息应该能看懂。也就是缺少了web.xml文件,<failOnMissingWebXml>被设置成true了。 搜索了一下,Stack Overflow上的答案解决了问题,分享一下。 目前被顶次数最多的回答原文如下: This...

源哥L ⋅ 今天 ⋅ 0

js时间戳与日期格式之间相互转换

1. 将时间戳转换成日期格式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // 简单的一句代码 var date = new Date(时间戳); //获取一个时间对象 /** 1. 下面是获取时间日期的方法,需要什么样的格式自己...

Jack088 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部