หากคุณต้องการให้องค์ประกอบในคอลเลกชันซ้ำขอแนะนำให้ใช้ HashSet ดังนี้:
// list เป็น arraylist ที่มีองค์ประกอบซ้ำ hashset hset = new hashset (รายการ); list.clear (); list.addall (hset);
แต่บางครั้งเราต้องการลบองค์ประกอบที่มีค่าแอตทริบิวต์ซ้ำ (ค่าเดียวกัน) ดังนี้:
เครือข่าย NW1 = เครือข่ายใหม่ (); nw1.id = 1; nw1.destip = "192.168.1.3"; เครือข่าย nw2 = เครือข่ายใหม่ (); nw2.id = 2; nw2.destip = "192.168.1.5" เครือข่าย nw3 = เครือข่ายใหม่ nw4 = เครือข่ายใหม่ (); nw4.id = 4; nw4.destip = "192.168.1.4"; เครือข่าย nw5 = เครือข่ายใหม่ (); nw5.id = 5; nw5.destip = "192.168.1.3"; mlist.add (nw1); mlist.add (nw2); mlist.add (nw3); mlist.add (nw4); mlist.add (nw5);
เห็นได้ชัดว่าค่า IP ใน NW1, NW3 และ NW5 นั้นเหมือนกัน เราต้องการเพียงอย่างเดียวดังนั้นเราจะวนซ้ำและลบค่าองค์ประกอบของเราเองโดยใช้ ArrayList ได้อย่างไร
สำหรับ (int i = 0; i <mlist.size ()-1; i ++) {สำหรับ (int j = mlist.size ()-1; j> i; j--) {ถ้า (mlist.get (j) .destip.equals (mlist.get.get.get.destip)ทั้งสองสำหรับลูปนั้นเพียงพอแล้ว อย่าลืมเปรียบเทียบพวกเขาทีละคนจากหาง ด้วยวิธีนี้เมื่อสัญลักษณ์องค์ประกอบบางอย่างต้องลบจำเป็นต้องมีความจำเป็นเพื่อให้แน่ใจว่าสิ่งที่อยู่เหนือหางจะถูกลบและลูปจะไม่สับสน
ข้างต้นเป็นเนื้อหาเต็มรูปแบบของวิธี ArrayList (แนะนำ) ที่ตัวแก้ไขนำมาให้คุณ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณและสนับสนุน wulin.com เพิ่มเติม ~