ถ้าเป็นเรื่อง List การวนดึงข้อมูลก็คงไม่ใช่เรื่องยุ่งยาก แต่สำหรับ ดังตัวอย่าง
List<String> strList = new LinkedList<String>();
strList.add("comment1-hi,");
strList.add("comment2-i");
strList.add("comment3-am");
strList.add("comment4-Programmer");
for(String str : strList){
System.out.println(" >> " + str):
}
แต่ในกรณีข้อมูล ที่เป็น Map<String, String> งงว่าทำไมไม่ทำ for ได้ แต่ก็่ช่างครับ เราย่อมมีวิธีตามนี้เลยครับ
Map<String, String> strMap = new HashMap<String, String>();
strMap.put("comment1", "hi,");
strMap.put("comment2", "i");
strMap.put("comment3", "am");
strMap.put("comment4", "Programmer");
แบบ โบราณ ทำไว้เผื่อจะเอา keys ไปทำอย่างอื่น -.-" คิดเผื่อ เหอ ๆSet<String> keys = strMap.keySet();
for( String key : keys ) {
System.out.println( " >> " + key + "-" + strMap.get( key ) );
}
แบบใหม่ใช้แล้วทิ้ง ^_^for( Map.Entry<String, String> entry : strMap.entrySet() ) {
System.out.println( " >> " + entry.getKey() + "-" + entry.getValue() );
}
ลองไปดู python เล่น ๆ ซิ (python จะไม่มี map นะครับ เขาใช้ dict คล้ายกัน)strDict = {}
strDict['comment1'] = 'hi,'
strDict['comment2'] = 'i,'
strDict['comment3'] = 'am'
strDict['comment4'] = 'Programmer'
เวลาดีงข้อมูลออกมาก็for k in strDict:
print ' >> %s-%s' %(k, strDict[k])
!อ่าว เสร็จแล้วหรอ งั้นไปดู list ของ python กันบ้าง จริง ๆ ก็คือ array แบบ java ครับ
strList = []
strList.append("comment1-hi,");
strList.append("comment2-i");
strList.append("comment3-am");
strList.append("comment4-Programmer");
เอ้าาา วนซิfor l in strList:
print ' >>', l
ถ้าลองเพิ่มว่า จะ print เฉพาะ comment ที่ลงท้ายเลขคู่ java จะยาวใหมน้อ ....เมื่อรู้อย่างนี้แล้ว ก็เลิกเขียนจาวา แล้วไปเขียน python กันดีกว่า อิอิ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น