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 交通频道 作文范文 人类,爱护大自然吧! 高中高三作文2300字:两岸“三通”改写历史 高考满分作文800字:高考满分作文:给我一双翅膀(重庆) 舍本而逐末 开展百日矛盾纠纷排查调处活动工作总结 吸血鬼日记第1季第22集(第一季大结局) 廉洁从政准则学习心得 市县工业经济发展考察报告 营销策略 受用一生的爱 你不知道别人的生活,请不要随意去指责 怎样写调查报告:问卷调查报告的格式 在天堂,它好吗?天使,替我照顾它... 少林小子办武校当上亿万富豪 亲爱的,你会不会想我 生活给我的微笑作文700字 第一次擀饺子皮 《从你的全世界路过》经典语录摘抄 《华丽上班族》经典台词语录 你锁了,人家就懂了 教育 白菜根——开花了 妻子的诱惑最新台词 中国,祝福你!——国庆60周年作文作文1300字 俞敏洪经典语录 朝雨 一切都很美好,压力没有那么大 菩萨蛮(周彦达舟中作) 暑假社会实践调查报告_社会调查报告 公路工程施工合同样本 想起了国家 小班社会教案:关心周围的老人 落实科学发展观深化纪检干部人事制度改革机制 77号公园 我当小老板 商业银行大堂经理实习报告 把爱播种在草原上 奇趣大自然 谈创新作文900字 2013年12月教师试用期工作总结 欧长生:从山村青年到爆炸案嫌犯 情书误会 小学六年级作文650字:今夜月圆时 数控专业英文推荐信 地球的最后时刻作文900字 六年级写寒假生活作文:练毛笔字 爱情要怎样守望 《感恩》主题班队会活动方案 悼亡二首 教师节校长国旗下讲话稿

Copyright © 2016 phpStudy |