Saturday, May 23, 2009

การ init ค่าใน Array เริ่มต้นของ java

เราทราบกันว่า การสร้าง array เป็นอย่างไรแล้ว ... แต่ ถ้าเราต้องการสร้าง array ขนาด 100 สมาชิก และอยากให้แต่ละสมาชิกมีค่า 0 หรือ 1 ทั้งหมดเราควรทำอย่างไร?

วิธีแรก ... กำปั้นทุบดิน ...

เราก็สร้าง array มา 100 ตัว ... จากนั้นก็วน loop ใส่ค่า 1 ให้กับทุกสมาชิก ดังนี้

int[] ex = new int[100];
for (int i = 0; i < ex.length; i++) {
ex[i] = 1;
}

อืม ... มันก็ง่ายดีครับ ... แต่มันคงไม่ดีแน่ ... ผมเลยหาๆ ดูใน api java (อันที่จริงเคาะ ctrl + space bar ใน ide มากกว่า) ก็ไปเจอ static method ใน Arrays ครับ จึงเป็นที่มาของวิธีที่สอง

วิธีที่สอง ... ใช้ Arrays.fill(Obj[], Obj_value);

ครับ ... เราสามารถใช้คำสั่ง Arrays.fill(ตัวแปรที่เป็น array อยู่แล้ว, ค่าที่ต้องการ) ซึ่งในที่นี้ผมให้เป็น 1

int[] ex = new int[100];
Arrays.fill(ex, 1);

เรียบร้อยครับ ... :) ก็เป็นการใช้สิ่งที่มีอยู่ให้เกิดประโยชน์ครับ :D

No comments:

Post a Comment