Java数组操作的10大方法_java

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
翻译作者:码农网 – 小峰

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索Java数组操作
java数组操作方法、java 数组操作、java byte数组操作、mongodb java操作数组、java字节数组操作,以便于您获取更多的相关知识。

时间: 2024-09-17 21:40:03

Java数组操作的10大方法_java的相关文章

辟谣!Java 9使用指南10大误解,你中了几条?

近日,Java平台集团首席架构师Mark Reinhold参加今年的Devoxx大会.在大会上,Mark Reinhold发表了他对Jigsaw和Java 9的看法,指出了人们以往对Java 9新版本认知的十大误解. 辟谣!Java 9使用指南10大误解,你中了几条? 责任编辑:editor006 作者:许真真 |  2017-09-18 15:08:45 本文摘自:it168网站 近日,Java平台集团首席架构师Mark Reinhold参加今年的Devoxx大会.在大会上,Mark Rein

电子商务网站推广10大方法

电子商务|推广|网站推广 电子商务网站推广10大方法 1.登录搜索引擎 搜索引擎google.yahoo.baidu给网站带来的流量是非常明显的,最简单的方法就是手工登陆. 但是要想获得好的排名,就要付一定的费用.收费方式包括:固定排名.竞价排名等. 如果你不想出钱还想尽量获得较好的排名的话,那么你就需要根据各个搜索引擎的特点优化一下自己的网站,做一些详细的策略.如标题设计,标签设计,内容排版设计等等. 2.登录导航网站 对于一个流量不大,知名度不高的网站来说,导航网站能给你带来的流量远远超过搜

10 大方法,让您的客服中心提供更出色的服务

在过去的 5 年中,客户服务中心所经历的变化,超过了以往 35 年的总和.由于客户期望提高.接触渠道增多和社交媒体的流行,客户服务所面临的挑战较以往任何时候都更为复杂.客户的服务体验仍旧是其认知品牌的重要途径. 因此,每天接听电话的客服代表,便是您最具价值的员工.他们必须具备影响客户认知品牌的技能和能力,来与客户直接沟通. 缤特力将探讨一些方法,让客服中心可以做出一些循序渐进的改变来满足并超越客户的期望. 以下是提升客服中心客户体验的10大方法: 1.停止测量平均处理时长 如今的通话变得比以往更

java使用Hashtable过滤数组中重复值的方法_java

本文实例讲述了java使用Hashtable过滤数组中重复值的方法.分享给大家供大家参考,具体如下: package org.eline.core.web.support; import java.util.Hashtable; /***************************** * * @author zdw * */ public class ObjectFilter { public static void main(String[] args) { // String 测试 S

java获取两个数组中不同数据的方法_java

本文实例讲述了java获取两个数组中不同数据的方法.分享给大家供大家参考.具体实现方法如下: public static <T> List<T> compare(T[] t1, T[] t2) { List<T> list1 = Arrays.asList(t1); List<T> list2 = new ArrayList<T>(); for (T t : t2) { if (!list1.contains(t)) { list2.add(t)

Java实现按行读取大文件_java

Java实现按行读取大文件 String file = "F:" + File.separator + "a.txt"; FileInputStream fis = new FileInputStream(file); RandomAccessFile raf = new RandomAccessFile(new File(file),"r"); String s ; while((s =raf.readLine())!=null){ Syste

Java集合Iterator迭代的实现方法_java

我们常常使用 JDK 提供的迭代接口进行 Java 集合的迭代. Iterator iterator = list.iterator(); while(iterator.hasNext()){ String string = iterator.next(); //do something } 迭代其实我们可以简单地理解为遍历,是一个标准化遍历各类容器里面的所有对象的方法类,它是一个很典型的设计模式.Iterator 模式是用于遍历集合类的标准访问方法.它可以把访问逻辑从不同类型的集合类中抽象出来

在Java下利用log4j记录日志的方法_java

1.前言 log4j是一个用Java编写的可靠,快速和灵活的日志框架(API),它在Apache软件许可下发布. Log4j已经被移植到了C,C++,C#,Perl,Python和Ruby等语言中. Log4j是高度可配置的,并可通过在运行时的外部文件配置.它根据记录的优先级别,并提供机制,以指示记录信息到许多的目的地,例如:数据库,文件,控制台,UNIX系统日志等. Log4j中有三个主要组成部分:     loggers: 负责捕获记录信息.     appenders : 负责发布日志信息

java实现上传图片进行切割的方法_java

本文实例讲述了java实现上传图片进行切割的方法.分享给大家供大家参考.具体分析如下: 为什么我要进行上传的图片进行切割呢,我这个项目的图片是部门logo,每个部门都可以选择不同的logo,但是要应对浏览器的兼容以及拉伸,我选择了把一张图片切成左.中.右和剩下的部分,因为左边和中变可能会有图案或者字所以不能拉伸,拉伸的只是右边的部分,剩下的部分自适应就可以了.所以用了javax的ImageReader来操作.最后以blob类型保存数据库中. 首先要在form表单里面写上enctype="mult