Java数组操作的10大方法


1、定义一个Java数组

String[] aArray = new String[5];
String[] bArray = {"a","b","c", "d", "e"};
String[] cArray = new String[]{"a","b","c","d","e"};

第一种是定义了一个数组,并且指定了数组的长度,我们这里称它为动态定义。

第二种和第三种在分配内存空间的同时还初始化了值。

2、打印Java数组中的元素

int[] intArray = { 1, 2, 3, 4, 5 };
String intArrayString = Arrays.toString(intArray);

// print directly will print reference value
System.out.println(intArray);
// [I@7150bd4d

System.out.println(intArrayString);
// [1, 2, 3, 4, 5]

这里的重点是说明了Java中数组的引用和值得区别,第三行直接打印intArray,输出的是乱码,因为intArray仅仅是一个地址引用。第4行输出的则是真正的数组值,因为它经过了Arrays.toString()的转化。对Java初学者来说,引用和值仍需重视。

3、从Array中创建ArrayList

String[] stringArray = { "a", "b", "c", "d", "e" };
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList);
// [a, b, c, d, e]

为什么要将Array转换成ArrayList呢?可能是因为ArrayList是动态链表,我们可以更方便地对ArrayList进行增删改,我们并不需要循环Array将每一个元素加入到ArrayList中,用以上的代码即可简单实现转换。

4、检查数组中是否包含某一个值

String[] stringArray = { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(stringArray).contains("a");
System.out.println(b);
// true

先使用Arrays.asList()将Array转换成List<String>,这样就可以用动态链表的contains函数来判断元素是否包含在链表中。

5、连接两个数组

int[] intArray = { 1, 2, 3, 4, 5 };
int[] intArray2 = { 6, 7, 8, 9, 10 };
// Apache Commons Lang library
int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);

ArrayUtils是Apache提供的数组处理类库,其addAll方法可以很方便地将两个数组连接成一个数组。

6、声明一个数组内链

method(new String[]{"a", "b", "c", "d", "e"});

7、将数组中的元素以字符串的形式输出

// containing the provided list of elements
// Apache common lang
String j = StringUtils.join(new String[] { "a", "b", "c" }, ", ");
System.out.println(j);
// a, b, c

同样利用StringUtils中的join方法,可以将数组中的元素以一个字符串的形式输出。

8、将Array转化成Set集合

Set<String> set = new HashSet<String>(Arrays.asList(stringArray));
System.out.println(set);
//[d, e, b, c, a]

在Java中使用Set,可以方便地将需要的类型以集合类型保存在一个变量中,主要应用在显示列表。同样可以先将Array转换成List,然后再将List转换成Set。

9、数组翻转

int[] intArray = { 1, 2, 3, 4, 5 };
ArrayUtils.reverse(intArray);
System.out.println(Arrays.toString(intArray));
//[5, 4, 3, 2, 1]

依然用到了万能的ArrayUtils。

10、从数组中移除一个元素

int[] intArray = { 1, 2, 3, 4, 5 };
int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array
System.out.println(Arrays.toString(removed));

再补充一个:将一个int值转化成byte数组

byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();

for (byte t : bytes) {
System.out.format("0x%x ", t);
}

英文原文:Top 10 Methods for Java Arrays
翻译作者:码农网 – 小峰



相关阅读:
解决mysql5中文乱码问题的方法
C#删除文件夹和文件到回收站示例
子元素div高度不确定时父div高度如何自适应
删除条目时弹出的确认对话框
MySQL可以使用斜线来当字段的名字
Mac下如何给网页截图保存整个网页
Java中Properties的使用详解
ASP.NET开发中经常用到10款工具软件介绍
js利用数组length属性清空和截短数组的小例子
Java导出txt文件的方法
windows下忘记MySQL密码的修改方法
通过length属性判断jquery对象是否存在
oracle select执行顺序的详解
无需 Flash 使用 jQuery 复制文字到剪贴板
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 人生对错皆本味 黄山风景区导游词作文1000字 xx县养猪协会协会工作总结 英语教师教学工作计划(精选4篇) 小学五年级作文1500字:各自阅读的朝圣路 人到中年,需要释放 一颗草莓就是一颗心作文1000字 个人述职报告开头语(推荐) 那些看似永远没脾气的人,一旦离开你就会消失得无影无踪。 励志文章:不知道该怎么做的人,进来看看(2) 招待会上怪事多作文1200字 小学六年级作文550字:还地球妈妈昔日的光辉 小学五年级作文450字:读《历练后的飞翔》有感 与谁无关 大学生党员学习十八届三中全会心得体会 简洁公司员工辞职报告 环保清洁鸟400字 关心别人的一件事作文 原来关心别人是件让人欢乐的事 7月,最初的感动 在“政风行风热线”栏目上的承诺讲话 小学四年级作文350字:青岛极地海洋世界 践行科学发展观促进党员经常性教育的意见 三月天的爱恋 饮啄篇 报得三春晖_妈妈我想对你说作文400字 道路交通安全工作简报 初中初一作文700字:我拥抱第一缕阳光 随心1200字 德化的冬天 在县征兵工作会议上的讲话 “花的随想”作文 中学生生物课学习方法调查报告 一生一世,似久远,在瞬间 沉默的上帝 2015小学教师年终述职报告 2015国际爱牙日公益活动方案 认识你,已足够好 一盏情缘 2015工作总结范文销售 如何写好教学反思 儿童诗 许一世繁华,让梦倾城天下 第一次亲密接触作文900字 晓楠的人生失去了方向 国培培训心得发言稿 给你(诗歌) 另一个季节作文600字 营改增促使产业转型升级 重于泰山的爱 商务局党支部“三严三实”专题民主生活会通知

Copyright © 2016 phpStudy |