CLASSICAL LOOP AND “1.5 FOR-EACH LOOP” IN JAVA
XỬ DỤNG CLASSICAL LOOP AND “1.5 FOR-EACH LOOP ” IN JAVA
* Với classical loop ,chúng ta phải viết counter index i=0 , set terminating condition và index increment i ++ or decrement .
* Với 1.5 for-each loop, chúng ta viết rất đơn giản, dễ nhớ và có thể dùng để loop over các functions, các arrays để lấy return nếu muốn và để loop over những iterable collections như arrayList.“1.5 for-each loop” còn được gọi là “Enhanced for loop”.
--------------
1- Xử dụng “1.5 For-Each Loop” còn được gọi “Enhanced for loop”
Thí dụ 1.
class Rextester {
static String[] display(){
String [] array = new String[5];
array [0]= " HENRY-101 " ;
array [1] = " PANO-202 " ;
array [2]= " JUAN-303 " ;
array [3]= " TIM-404 " ;
array [4]= " MARTHA-505 " ;
return array; }
public static void main(String[] args) {
for (String str : display()) { // 1.5 for-each loop over the function
System.out.println(str); }
}}
OUTPUT.
Compilation time: 0.72 sec, absolute running time: 0.13 sec,
cpu time: 0.06 sec, memory peak: 28 Mb, absolute service time: 0.86 sec
HENRY-101
PANO-202
JUAN-303
TIM-404
MARTHA-505
Thí dụ 2.
class Rextester {
public static void main(String args[]) {
String[] array = {"XAO","KE","HENRY","JUAN"};
for(String str : array){ // 1.5 for-each loop over an array
System.out.println(str);}
}}
OUTPUT.
Compilation time: 1.14 sec, absolute running time: 0.14 sec,
cpu time: 0.06 sec, memory peak: 28 Mb, absolute service time: 1.28 sec
XAO
KE
HENRY
JUAN
Thí dụ 3- ArrayList. Phải dùng function add().
class Rextester{
public static void main(String args[]){
System.out.println( " HENRY’S FARMER STORE IN SAN CLEMENTE\n " );
ArrayList loopList = new ArrayList( );
loopList.add("1-MIT TỐ NỮ : 80 Cents per lb");
loopList.add("2-CHÔM CHÔM CAIBÈ : 50 Cents per lb");
loopList.add("3-XOÀI TƯƠNG LONG XUYÊN : 60 Cents per lb");
// using for-each loop of JDK1.5
for(String element: loopList){
System.out.println(element); }
} }
OUTPUT.
Compilation time: 0.73 sec, absolute running time: 0.13 sec,
cpu time: 0.08 sec, memory peak: 30 Mb, absolute service time: 0.87 sec
HENRY'S FARMER STORE IN SAN CLEMENTE
1-MIT TỐ NỮ : 80 Cents per lb
2-CHÔM CHÔM CAIBÈ : 50 Cents per lb
3-XOÀI TƯƠNG LONG XUYÊN : 60 Cents per lb
2-Xử dụng Classical Loop còn được gọi Traditional loop.
Thí dụ 1
class Rextester {
public static void main(String[] args) {
String [] array = new String[5];
array [0]= " HENRY-101 " ;
array [1] = " PANO-202 " ;
array [2]= " JUAN-303 " ;
array [3]= " TIM-404 " ;
array [4]= " MARTHA-505 " ;
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);}
}}
OUTPUT.
Compilation time: 0.82 sec, absolute running time: 0.14 sec,
cpu time: 0.07 sec, memory peak: 28 Mb, absolute service time: 0.97 sec
HENRY-101
PANO-202
JUAN-303
TIM-404
MARTHA-505
Thí dụ 2
class Rextester {
public static void main(String args[]) {
String[] array = {"XAO","KE","HENRY","JUAN"};
for(int i = 0; i<array.length ; i++){ // classical loop over
System.out.println( array[i]);}
}}
OUTPUT.
Compilation time: 0.73 sec, absolute running time: 0.13 sec,
cpu time: 0.07 sec, memory peak: 28 Mb, absolute service time: 0.86 sec
XAO
KE
HENRY
JUAN
Nếu viết :
for(int i = 0; i<array.length ; i++){
System.out.println( array[2]);}
Sẽ có như sau.
Compilation time: 0.72 sec, absolute running time: 0.14 sec,
cpu time: 0.06 sec, memory peak: 28 Mb, absolute service time: 0.87 sec
HENRY
HENRY
HENRY
HENRY
Thí dụ 3-ArrayList.
Với ArrayList ngoài function add(), phải dùng thêm function size() và function get() nếu xử dụng classical loop.
class Rextester {
public static void main(String[] args) {
System.out.println( " HENRY’S FARMER STORE IN SAN CLEMENTE\n " );
ArrayList loopList1 = new ArrayList( );
loopList1.add("4-CALIFORNIA PEARS : 35 Cents per lb");
loopList1.add("5-JUICY APPLES : 45 Cents per lb");
loopList1.add("6-MEXICO BANANA : 40 Cents per lb");
// using classical loop with size method
for(int i=0; i<loopList1.size(); i++){
System.out.println(loopList1.get(i)); }
}}
OUTPUT.
Compilation time: 0.83 sec, absolute running time: 0.13 sec,
cpu time: 0.07 sec, memory peak: 28 Mb, absolute service time: 0.97 sec
HENRY’S FARMER STORE IN SAN CLEMENTE
4-CALIFORNIA PEARS : 35 Cents per lb
5-JUICY APPLES : 45 Cents per lb
6-MEXICO BANANA : 40 Cents per lb
* MUỐN TÌM TÊN CỦA MỖI ELEMENT TRONG INDEX THÌ PHẢI XỬ DỤNG PHƯƠNG PHÁP CLASSICAL LOOP .
THÍ DỤ TÌM TÊN “JUAN-303” NHƯ SAU.
class Rextester {
public static void main(String[] args) {
String [] array = new String[5];
array [0]= " HENRY-101 " ;
array [1] = " PANO-202 " ;
array [2]= " JUAN-303 " ;
array [3]= " TIM-404 " ;
array [4]= " MARTHA-505 " ;
String search = " JUAN-303 ";
int i ;
for (i = 0; i < array.length; i++) {
if (array[i] == search) {
break;}}
System.out.println(" Location of " +" "+ search +" "+" is at index "+" "+i);
}}
OUTPUT.
Compilation time: 1.03 sec, absolute running time: 0.14 sec,
cpu time: 0.08 sec, memory peak: 28 Mb, absolute service time: 1.19 sec
Location of JUAN-303 is at index 2