Java Int数组示例

当我们处理少量数据时,可以为需要监视的每个数据使用一个变量。如果我们不知道需要处理多少数据,或者数据很大,则数组非常有用。如果我们在计算中需要许多int值,则Java Integer Array是一个数组对象,其中包含多个Integer值。以下是一些有关如何在Java中使用int数组的示例。
 

整数数组声明

方括号用于在Java中声明Array。我们可以使用两种方式,一种是在数据类型关键字之后,另一种是在变量名称之后。这是有关如何在Java中声明一个int数组的示例:

int [] thisIsAnIntArray1;

int thisIsAnIntArray2 [];

这两个声明均有效。如果要声明一个Integer数组,则下面是对应的内容:
 

Integer [] thisIsAnIntegerArray1;

整数thisIsAnIntegerArray2 [];

以上所有语句将使变量包含空值。没有创建数组对象,只是简单地声明变量而没有为其分配值。
 

具有初始大小的整数数组声明

当我们知道需要多少个对象时,通常会声明数组。因此,数组通常以初始大小声明。这是一个如何声明一个初始大小为int的数组的示例:
 

int [] thisIsAnIntArray = new int [5];

Integer [] thisIsAnIntegerArray = new Integer [5];

请注意,上面的int数组不仅会创建该数组,而且每个项目的值都将为0。这是因为int是原始类型。但是,除非稍后初始化,否则Integer数组的每个元素都将具有空值。

我们可以显式初始化数组的内容:
 

// int

int [] thisIsAnIntrray = new int [5];

thisIsAnIntrray [0] = 5;

thisIsAnIntrray [1] = 15;

thisIsAnIntrray [2] = 25;

thisIsAnIntrray [3] = 35;

thisIsAnIntrray [4] = 45;

// 整数

Integer [] thisIsAnIntegerArray = new Integer [5];

thisIsAnIntegerArray [0] = Integer.valueOf5;

thisIsAnIntegerArray [1] = Integer.valueOf15;

thisIsAnIntegerArray [2] = Integer.valueOf25;

thisIsAnIntegerArray [3] = Integer.valueOf35;

thisIsAnIntegerArray [4] = Integer.valueOf45;

一个语句中的整数数组声明和初始化

如果该数组只有很少的内容,我们可以声明一个Integer数组并将其初始化为一行。这是Java int数组的示例:
 

int [] thisIsAnIntArray = {5121313172239};

还有一个Java Integer Array的示例:

Integer [] thisIsAnIntegerArray1 = {51213};

Integer [] thisIsAnIntegerArray2 = {Integer.valueOf5),Integer.valueOf12),Integer.valueOf13};

请注意,第一条语句使用纯整数。这是因为Java的自动装箱功能会自动将int转换为Integer

一起声明和初始化Integer数组的另一种语法是使用new运算符。这是一个例子:

int [] thisIsAnIntArray = new int [] {51213132239};

Integer [] thisIsAnIntegerArray1 = new Integer [] {51213};

Integer [] thisIsAnIntegerArray2 = new Integer [] {Integer.valueOf5),Integer.valueOf12),Integer.valueOf13};

声明后的整数数组初始化

初始化数组的代码可以与声明代码分开。当声明期间不知道值时,这很有用。这是在声明后初始化int数组的示例:
 

int [] thisIsAnIntArray;

如果(isOdd{

    thisIsAnIntArray = new int [] {13579};

} 别的 {

    thisIsAnIntArray = new int [] {24688 10};

}

请注意,数组的值取决于isOdd变量的值。

请注意,初始化数组将覆盖数组的旧内容。例如

int [] thisIsAnIntArray = new int [] {135};

thisIsAnIntArray = new int [] {246};

System.out.printlnthisIsAnIntArray [0];

System.out.printlnthisIsAnIntArray [1];

System.out.printlnthisIsAnIntArray [2];

该代码将在下面显示输出。

2

4

6

这是因为旧内容{135}将被丢弃,并被新内容{246}取代。

还要注意,如果重新初始化,甚至数组的大小也会改变。例如:

int [] thisIsAnIntArray = new int [] {135};

thisIsAnIntArray = new int [] {24};

System.out.printlnthisIsAnIntArray [0];

System.out.printlnthisIsAnIntArray [1];

System.out.printlnthisIsAnIntArray [2];

将具有以下输出:

2

4

线程中的异常java.lang.ArrayIndexOutOfBoundsException2

      ArrayTest.mainArrayTest.java:10

例外是因为thisIsAnIntArray变量在第二次初始化后将只有2个元素。
 

整数数组长度/大小

数组的属性长度可用于确定数组中元素的数量。这是一个示例用法:
 

int [] thisIsAnIntArray = new int [] {135};

System.out.printlnthisIsAnIntArray.length;

这将具有输出:
 

3

因为在声明的int数组中有3个元素。
 

遍历整数数组

由于整数数组的大小和内容可能会有所不同,因此遍历所有值很有用。这是一个使用样式的示例代码,该样式可以在Java 5之前运行。

int [] thisIsAnIntArray = new int [] {135};

forint i = 0; i <thisIsAnIntArray.length; i ++

{

    int元素= thisIsAnIntArray [i];

    System.out.printlnelement;   

}

该代码将从索引0开始,一直到长度-1,这是数组的最后一个元素。该代码将在Java 5之前或之后的任何版本的Java上运行

该代码将具有输出:

1

3

5

另一种方法是使用Java 5的增强的for循环。例如:

int [] thisIsAnIntArray = new int [] {135};

forint元素:thisIsAnIntArray

{

    System.out.printlnelement;   

}

该代码将具有与前面的示例相同的输出:
 

测试整数数组是否包含值

当我们有一个整数数组时,可以使用以下代码检查数组中是否有值:
 

int [] thisIsAnIntArray = new int [] {135};

int intToSearch = 3;

布尔值发现=;

forint elementthisIsAnIntArray{

    ifelement == intToSearch{

        发现=;

    }

}

如果(找到){

    System.out.println数组包含整数:” + intToSearch;

} 别的 {

    System.out.println数组不包含整数:” + intToSearch;

}

此代码将遍历数组,并逐一检查元素是否等于要搜索的项目。代码的输出将是:

数组包含整数:3

排序整数数组

当我们有一组项目时,通常会遇到排序问题。我们可以基于一些众所周知的算法来实现。这是一个如何使用冒泡排序对Java中的整数数组进行排序的示例:
 

导入java.util.Arrays;

/ **

 *Java中对整数数组进行排序的简单程序。

 * /

公共类SortIntArrayInJava {

   公共静态void bubbleSortint [] arr{

      int j = 0;

      int tmp;

      布尔排序=;

      while(!sorted{

         排序= true;

         j ++;

         forint i = 0; i <arr.length-j; i ++{

            如果(arr [i]> arr [i + 1]{

               tmp = arr [i];

               arr [i] = arr [i + 1];

               arr [i + 1] = tmp;

               排序=;

            }

         }

      }

   }

   公共静态void mainString [] args{

      int [] thisIsAnIntArray = {511005075128951112899};

      bubbleSortthisIsAnIntArray;

      System.out.printlnArrays.toStringthisIsAnIntArray));

   }

}

该代码将按升序输出数组中的Integers

[151112285051758999100]

Java具有针对此常见编程问题的内置解决方案。我们可以在java.util.Arrays实用程序类中使用sort方法。这是上面使用Arrays.sort()方法的代码的简化示例:
 

导入java.util.Arrays;

/ **

 *Java中对整数数组进行排序的简单程序。

 * /

公共类SortIntArrayInJava {

   公共静态void mainString [] args{

      int [] thisIsAnIntArray = {511005075128951112899};

      Arrays.sortthisIsAnIntArray;

      System.out.printlnArrays.toStringthisIsAnIntArray));

   }

}

和输出将是相同的。
 

将整数数组转换为字符串

出于不同的目的,我们可能需要将Integer Array转换为String。实用程序类java.util.Arrays为此提供了一种便捷方法。这是转换的示例代码:
 

导入java.util.Arrays;

/ **

 *一个将整数数组转换为字符串的简单程序。

 * /

公共类ConvertArrayInJava {

   公共静态void mainString [] args{

      int [] thisIsAnIntArray = {5678};

      字符串theString = Arrays.toStringthisIsAnIntArray;

      System.out.printlntheString;

   }

}

这将是输出:

[5678]

元素在转换后的字符串中用逗号分隔,并括在方括号中。

如果您喜欢自定义行为,我们可以自己实施转化

/ **

 *一个简单的程序,可将自定义行为将整数数组转换为字符串。

 * /

公共类SortIntArrayInJava {

   公共静态void mainString [] args{

      int [] thisIsAnIntArray = {5678};

      字符串分隔符=“-”;

      StringBuilder sb = new StringBuilder();

      forint elementthisIsAnIntArray{

          如果(sb.length()> 0{

              sb.append(定界符);

          }

          sb.appendelement;

      }

      字符串theString = sb.toString();

      System.out.printlntheString;

   }

}

输出将使用不带方括号的定界符破折号:

5-6-7-8

将整数数组转换为列表

数组是固定大小的。因此,使用List更方便。这是一个如何在Java中将int数组转换为List的示例。

Integer [] thisIsAnIntArray = {5678};

List <Integer> intList = Arrays.asListthisIsAnIntArray;

请注意,阅读asListJavadoc表示:

返回由指定数组支持的固定大小的列表。(对返回列表的更改为直写到数组。)与Collection.toArray结合使用,此方法充当基于数组的API和基于集合的API之间的桥梁。返回的列表是可序列化的,并实现RandomAccess

这意味着将项目添加到返回的列表将引发异常:

Integer [] thisIsAnIntArray = {5678};

List <Integer> intList = Arrays.asListthisIsAnIntArray;

intList.addInteger.valueOf10));

运行此命令时,将遇到java.lang.UnsupportedOperationException

为避免此问题,我们可以将Integer Array专门转换为ArrayList。以下是有关如何执行此操作的示例代码:

Integer [] thisIsAnIntArray = {5678};

List <Integer> fixedList = Arrays.asListthisIsAnIntArray;

List <Integer> intList =新的ArrayList <Integer>fixedList;

intList.addInteger.valueOf10));

现在,该代码将不会引发异常。
 

将整数数组转换为Set

集合和列表之间的区别在于,集合仅包含唯一值。因此,如果我们只希望集合中的元素没有重复项(唯一),则Set是一个更合适的数据结构。这是有关如何将整数数组转换为集合的示例代码:

Integer [] thisIsAnIntArray = {5658};

List <Integer> intList = Arrays.asListthisIsAnIntArray;

Set <Integer> intSet =新的HashSet <Integer>intList;

System.out.println列表的大小为:” + intList.size());

System.out.println集合的大小为:” + intSet.size());

输出将是:
 

列表的大小是:4

套装的大小是:3

该清单将有四个项目,如声明中所列举。但是由于有两个5,所以该集合将只有3个元素。
 

将列表转换为整数数组

如果我们想要上面示例的相反行为,则还可以将List转换回Integer Array。以下是将List转换为int Array的示例代码:

List <Integer> intList =ArrayList <Integer>();

intList.add5;

intList.add10;

intList.add15;

Integer [] intArr = intList.toArraynew Integer [] {};

forInteger elementintArr{

    System.out.printlnelement;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值