Java 数组

156 篇文章 2 订阅

Java数组声明、创建、初始化



Java数组的声明、创建和初始化,并给出其对应的代码。


一维数组的声明方式:
type var[]; 或type[] var;


声明数组时不能指定其长度(数组中元素的个数),


Java中使用关键字new创建数组对象,格式为:
数组名 = new 数组元素的类型 [数组元素的个数]


实例:
TestNew.java:


程序代码:


public class TestNew  
{  
     public static void main(String args[]) {  
         int[] s ;  
         int i ;  
         s = new int[5] ;  
         for(i = 0 ; i < 5 ; i++) {  
             s[i] = i ;  
         }  
         for(i = 4 ; i >= 0 ; i--) {  
             System.out.println("" + s[i]) ;  
         }  
     }   



初始化:


1.动态初始化:数组定义与为数组分配空间和赋值的操作分开进行;
2.静态初始化:在定义数字的同时就为数组元素分配空间并赋值;
3.默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐士初始化。
实例:




TestD.java(动态):


程序代码:


public class TestD  
{  
     public static void main(String args[]) {  
         int a[] ;  
         a = new int[3] ;  
         a[0] = 0 ;  
         a[1] = 1 ;  
         a[2] = 2 ;  
         Date days[] ;  
         days = new Date[3] ;  
         days[0] = new Date(2008,4,5) ;  
         days[1] = new Date(2008,2,31) ;  
         days[2] = new Date(2008,4,4) ;  
     }  
}  
 
class Date  
{  
     int year,month,day ;  
     Date(int year ,int month ,int day) {  
         this.year = year ;  
         this.month = month ;  
         this.day = day ;  
     }  
}  
 


TestS.java(静态):


程序代码:


public class TestS     
{     
     public static void main(String args[]) {     
         int a[] = {0,1,2} ;     
         Time times [] = {new Time(19,42,42),new Time(1,23,54),new Time(5,3,2)} ;     
     }     
}     
 
class Time     
{     
     int hour,min,sec ;     
     Time(int hour ,int min ,int sec) {     
         this.hour = hour ;     
         this.min = min ;     
         this.sec = sec ;     
     }     
}    


TestDefault.java(默认):


程序代码:


public class TestDefault     
{     
     public static void main(String args[]) {     
         int a [] = new int [5] ;     
         System.out.println("" + a[3]) ;     
     }     
}   


==========


 Java 数组操作的 12 个方法



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]  




3.  从一个数组创建数组列表 




Java代码 
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]  




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




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




5.  连接两个数组 


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




6.  声明一个内联数组(Array inline) 




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




7.  把提供的数组元素放入一个字符串 




Java代码 
// 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  




8.  将一个数组列表转换为数组 


Java代码 
String[] stringArray = { "a", "b", "c", "d", "e" };  
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));  
String[] stringArr = new String[arrayList.size()];  
arrayList.toArray(stringArr);  
for (String s : stringArr)  
    System.out.println(s);  




9.  将一个数组转换为集(set) 




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




10.  逆向一个数组 


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




11.  移除数组中的元素 


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




12.  将整数转换为字节数组 


Java代码 
byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();  
   
for (byte t : bytes) {  
   System.out.format("0x%x ", t);  
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值