浅谈集合框架六——集合扩展:Arrays工具类、集合与数组相互转换方式;
最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出。初学者对于本篇博客只建议作为参考,欢迎留言共同学习。
之前有介绍集合框架的体系概念(http://www.cnblogs.com/yjboke/p/8761195.html),本篇介绍一下集合扩展内容:Arrays工具类的常用方法、集合与数组转换方式
Arrays是用于操作数组的工具类,里面都是静态方法,现介绍一些常用的方法:
asList(array):将数组转换为集合;
sort(array):排序
binarySearch(array, String str):通过二分法查找元素所在的位置,返回下标(需先进行排序)。
copyOf(array, int i):拷贝数组,如果长度不够使用0进行补位。
copyOfRange(array, int i,int j):定义拷贝数组的起始与结束的位置。
equals(array1, array2):对比是否相等。
fill(array,"aaa"):基于目标元素填充数组。
toString:打印数组元素。
toStream:当数组中包含数组,就需要使用toStream打印。
deepEquals:深度比较
deepHashCode:生产HashCode
deepToString:格式化输出数组
以下为部分方法的代码输出:
public static void arrays() {
String[] str = {"baa","abc","asd"};
//sort排序
Arrays.sort(str);
System.out.println(Arrays.toString(str)); //输出结果为:[abc, asd, baa]
//binarySearch
int i = Arrays.binarySearch(str, "baa");
System.out.println(i); //输出结果为:2
//copyOf
String[] str2 = Arrays.copyOfRange(str, 0,2);
System.out.println(Arrays.toString(str2)); //输出结果为[abc, asd]
//fill
Arrays.fill(str, "ab");
System.out.println(Arrays.toString(str)); //输出结果为[ab, ab, ab]
//deepToString 输出包含数组的数组
String[] toStr[] = {str, str2,};
System.out.println(Arrays.deepToString(toStr));//输出结果为:[[ab, ab, ab], [abc, asd]]
}
--------------------------------------
集合数组相互转换:
数组转换为集合:asList
以下是代码演示:
public static void main(String[] args) {
asList();
}
//将数组转换为集合
public static void asList() {
String[] str = {"aaa","abc","asd"};
//转换方法
List<String> list = Arrays.asList(str);
Iterator<String> it = list.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
System.out.println(list);
}
输出内容为:
aaa
abc
asd
[aaa, abc, asd]
------------------------------------------
扩展:集合转换为数组:toArray
以下为代码演示:
public static void main(String[] args) {
toArray();
}
//将集合转换为数组
public static void toArray() {
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("abc");
list.add("bcd");
System.out.println(list);
//转换方法
String[] str = list.toArray(new String[list.size()]);
System.out.println(str[1]);
System.out.println(Arrays.toString(str));
}
以上。
如有不严谨或不正确之处还请指出,共同学习。
浅谈集合框架六——集合扩展:Arrays工具类、集合与数组相互转换方式;的更多相关文章
- Java基础知识强化之集合框架笔记33:Arrays工具类中asList()方法的使用
1. Arrays工具类中asList()方法的使用 public static <T> List<T> asList(T... a): 把数组转成集合 注意事项: 虽然可以把 ...
- Java精选笔记_集合概述(Collection接口、Collections工具类、Arrays工具类)
集合概述 集合有时又称为容器,简单地说,它是一个对象,能将具有相同性质的多个元素汇聚成一个整体.集合被用于存储.获取.操纵和传输聚合的数据. 使用集合的技巧 看到Array就是数组结构,有角标,查询速 ...
- 二维数组及Arrays工具类
1.二维数组 概念: 数组中的每一个元素类型都是一维数组 二维数组初始化方式: 静态初始化: 格式: 元素类型[][] 数组名 = new 元素类型[][]{{一维数组1},{一维数组2},{一维数组 ...
- Java集合框架:Arrays工具类
java.util.Arrays类能方便地操作数组,它提供的方法都是静态的.整个Arrays工具类的实现有3000+行.可是归纳总结一下可知它有下面功能(9个): 1. asList 定义: @Saf ...
- 手撸ORM浅谈ORM框架之Add篇
快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...
- 手撸ORM浅谈ORM框架之Query篇
快速传送 手撸ORM浅谈ORM框架之基础篇 手撸ORM浅谈ORM框架之Add篇 手撸ORM浅谈ORM框架之Update篇 手撸ORM浅谈ORM框架之Delete篇 手撸ORM浅谈ORM框架之Query ...
- java自学第4期——:Scanner类、匿名对象介绍、Random类、ArrayList集合、标准类格式、String类、static静态、Arrays工具类、Math类(1)
一.Scanner类 1.api简介: 应用程序编程接口 2.Scanner类: 作用:获取键盘输入的数据 位置: java.util.Scanner. 使用:使用成员方法nextInt() 和 ne ...
- Scanner类、匿名对象、Random类、ArrayList集合、String类、static静态类、math类和Arrays工具类
一.Scanner类 1.除了八种基本数据类型,其他都是引用类型: 引用类型使用三步骤: 2.Scanner类 引用jdk提供的类,Scanner在java.util包下,不在java.lang包(S ...
- 手撸ORM浅谈ORM框架之基础篇
好奇害死猫 一直觉得ORM框架好用.功能强大集众多优点于一身,当然ORM并非完美无缺,任何事物优缺点并存!我曾一度认为以为使用了ORM框架根本不需要关注Sql语句如何执行的,更不用关心优化的问题!!! ...
随机推荐
- VM虚拟机下安装无线网卡教程
前言: 由于最近学习olsrd需要,然后需要无线网卡支持.所以将教程分享如下. 实体机:Windows 7 虚拟机:Ubuntu 14.04 无线网卡:Tenda W311M V3.0 虚拟机软件:V ...
- 带三角形下标的提示框(按钮button)
HTML:<div class="leaflet-popup-content-wrapper"> <div class="leaflet-popup-c ...
- Nginx教程(五) Nginx配置文件详解 (转)
一. Nginx配置文件nginx.conf中文详解 #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processe ...
- day16 web前端之JavaScript
页面布局补充 样例页面: 示例代码: <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- Codeforces 276D
题目链接 这题真的体现了自己思维的不足,考虑问题只是考虑他的特殊性,却不能总结出它的一般性规律. 对于这题, 如果L == R , 那么结果为0. 否则, 我们只需要找到最高的某一位 (二进制数中的某 ...
- springboot 数据访问【转】【补】
六.SpringBoot与数据访问 1.JDBC pom.xml配置 <dependencies> <dependency> <groupId>org.spring ...
- 【机器学习】Iris Data Set(鸢尾花数据集)
[机器学习]Iris Data Set(鸢尾花数据集) 注:数据是机器学习模型的原材料,当下机器学习的热潮离不开大数据的支撑.在机器学习领域,有大量的公开数据集可以使用,从几百个样本到几十万个样本的数 ...
- iOS之友盟错误统计解决
http://www.cocoachina.com/ios/20150720/12627.html http://lieyunye.github.io/blog/2013/09/10/how-to-a ...
- 重磅开源|AOP for Flutter开发利器——AspectD
https://github.com/alibaba-flutter/aspectd 问题背景 随着Flutter这一框架的快速发展,有越来越多的业务开始使用Flutter来重构或新建其产品.但在我们 ...
- Namenode文件系统命名空间映像文件及修改日志