คำถามติดแท็ก collections

API การรวบรวมให้นักพัฒนามีชุดของคลาสและอินเทอร์เฟซที่ทำให้ง่ายต่อการจัดการคอลเลกชันของวัตถุ

11
อะไรคือสาเหตุที่ทำให้ Map.get (ปุ่มวัตถุ) ไม่ได้ (เต็ม) ทั่วไป
java.util.Map<K, V>อะไรคือเหตุผลที่อยู่เบื้องหลังการตัดสินใจที่จะไม่ได้เป็นวิธีการที่ได้รับทั่วไปอย่างเต็มที่ในอินเตอร์เฟซของ เพื่อชี้แจงคำถามลายเซ็นของวิธีการคือ V get(Object key) แทน V get(K key) และฉันสงสัยว่าทำไม (แบบเดียวกันสำหรับremove, containsKey, containsValue)

12
HashSet กับประสิทธิภาพของรายการ
เป็นที่ชัดเจนว่าประสิทธิภาพการค้นหาของHashSet<T>คลาสทั่วไปสูงกว่าList<T>คลาสทั่วไป เพียงเปรียบเทียบคีย์แฮชที่ใช้กับวิธีการเชิงเส้นในList<T>ชั้นเรียน อย่างไรก็ตามการคำนวณคีย์กัญชาตัวเองอาจใช้เวลารอบการทำงานบางอย่างเพื่อให้สำหรับจำนวนเงินที่เล็ก ๆ HashSet<T>ของรายการที่ค้นหาเชิงเส้นสามารถเป็นทางเลือกที่แท้จริงในการ คำถามของฉัน: จุดคุ้มทุนอยู่ที่ไหน เพื่อให้สถานการณ์ง่ายขึ้น (และยุติธรรม) สมมติว่าList<T>คลาสใช้Equals()วิธีการขององค์ประกอบเพื่อระบุรายการ


19
วิธีการแปลง int [] เป็น List <Integer> ใน Java
ฉันจะแปลงint[]เป็นList&lt;Integer&gt;Java ได้อย่างไร แน่นอนฉันสนใจคำตอบอื่นที่ไม่ใช่การวนซ้ำเรียงตามข้อ แต่ถ้าไม่มีคำตอบอื่นฉันจะเลือกอันนั้นให้ดีที่สุดเพื่อแสดงความจริงว่าฟังก์ชั่นนี้ไม่ได้เป็นส่วนหนึ่งของ Java

29
วิธีที่มีประสิทธิภาพมากที่สุดในการเพิ่มค่า Map ใน Java
ฉันหวังว่าคำถามนี้จะไม่ถือว่าเป็นพื้นฐานสำหรับฟอรัมนี้ แต่เราจะเห็น ฉันสงสัยว่าจะสร้างรหัสใหม่อีกครั้งเพื่อประสิทธิภาพที่ดีขึ้นซึ่งเริ่มขึ้นหลายครั้ง สมมติว่าฉันกำลังสร้างรายการความถี่คำโดยใช้แผนที่ (อาจเป็น HashMap) โดยที่แต่ละคีย์คือสตริงที่มีคำที่ถูกนับและค่านั้นเป็นจำนวนเต็มที่เพิ่มขึ้นทุกครั้งที่พบโทเค็นของคำ ใน Perl การเพิ่มค่าดังกล่าวอาจเป็นเรื่องง่าย: $map{$word}++; แต่ใน Java มันซับซ้อนกว่ามาก นี่คือวิธีที่ฉันกำลังทำอยู่: int count = map.containsKey(word) ? map.get(word) : 0; map.put(word, count + 1); หลักสูตรใดขึ้นอยู่กับฟีเจอร์ autoboxing ในเวอร์ชั่น Java ที่ใหม่กว่า ฉันสงสัยว่าคุณสามารถแนะนำวิธีที่มีประสิทธิภาพมากขึ้นในการเพิ่มมูลค่าดังกล่าวหรือไม่ มีเหตุผลด้านประสิทธิภาพที่ดีในการละทิ้งเฟรมเวิร์กของ Collections และใช้อย่างอื่นแทนหรือไม่? อัปเดต: ฉันได้ทำการทดสอบคำตอบหลายข้อ ดูด้านล่าง

18
วิธีจัดเรียง ArrayList ได้อย่างไร
ฉันมี List of doubles ใน java และฉันต้องการเรียงลำดับ ArrayList ตามลำดับจากมากไปน้อย อินพุต ArrayList มีดังนี้: List&lt;Double&gt; testList = new ArrayList(); testList.add(0.5); testList.add(0.2); testList.add(0.9); testList.add(0.1); testList.add(0.1); testList.add(0.1); testList.add(0.54); testList.add(0.71); testList.add(0.71); testList.add(0.71); testList.add(0.92); testList.add(0.12); testList.add(0.65); testList.add(0.34); testList.add(0.62); สิ่งที่วางไว้ควรเป็นเช่นนี้ 0.92 0.9 0.71 0.71 0.71 0.65 0.62 0.54 0.5 0.34 0.2 0.12 0.1 0.1 0.1

10
วิธีที่ง่ายที่สุดในการกลับรายการ ArrayList คืออะไร
วิธีที่ง่ายที่สุดในการกลับรายการ ArrayList นี้คืออะไร ArrayList&lt;Integer&gt; aList = new ArrayList&lt;&gt;(); //Add elements to ArrayList object aList.add("1"); aList.add("2"); aList.add("3"); aList.add("4"); aList.add("5"); while (aList.listIterator().hasPrevious()) Log.d("reverse", "" + aList.listIterator().previous());

23
รับองค์ประกอบจากชุด
เหตุใดจึงไม่มีSetการดำเนินการเพื่อให้ได้องค์ประกอบที่เท่ากับอีกองค์ประกอบหนึ่ง Set&lt;Foo&gt; set = ...; ... Foo foo = new Foo(1, 2, 3); Foo bar = set.get(foo); // get the Foo element from the Set that equals foo ฉันสามารถถามได้ว่าSetมีองค์ประกอบเท่ากับbarหรือไม่ทำไมฉันจึงไม่สามารถรับองค์ประกอบนั้นได้ :( เพื่อชี้แจงequalsวิธีการที่ถูกแทนที่ แต่มันจะตรวจสอบเพียงหนึ่งในเขตข้อมูลไม่ได้ทั้งหมด ดังนั้นFooวัตถุสองชิ้นที่ถือว่าเท่ากันอาจมีค่าแตกต่างกันนั่นคือสาเหตุที่ฉันไม่สามารถใช้งานfooได้
323 java  collections  set  equals 

6
Python: defaultdict ของ defaultdict หรือไม่
มีวิธีที่จะมีdefaultdict(defaultdict(int))เพื่อให้รหัสต่อไปนี้ทำงานได้หรือไม่ for x in stuff: d[x.a][x.b] += x.c_int dจะต้องมีการสร้างโฆษณาขึ้นอยู่กับองค์ประกอบx.aและx.b ฉันสามารถใช้: for x in stuff: d[x.a,x.b] += x.c_int แต่ฉันจะไม่สามารถใช้: d.keys() d[x.a].keys()

9
แผนที่ Java สั่ง
ใน Java มีวัตถุที่ทำหน้าที่เหมือนแผนที่สำหรับการจัดเก็บและการเข้าถึงคู่คีย์ / ค่า แต่สามารถส่งคืนรายการคีย์ที่เรียงลำดับแล้วและรายการค่าที่เรียงลำดับเช่นรายการคีย์และค่าเรียงตามลำดับเดียวกันได้หรือไม่ ดังนั้นตามคำอธิบายโดยใช้รหัสฉันกำลังมองหาบางสิ่งที่มีลักษณะเหมือน OrderedMap ที่เป็นตำนานของฉัน: OrderedMap&lt;Integer, String&gt; om = new OrderedMap&lt;&gt;(); om.put(0, "Zero"); om.put(7, "Seven"); String o = om.get(7); // o is "Seven" List&lt;Integer&gt; keys = om.getKeys(); List&lt;String&gt; values = om.getValues(); for(int i = 0; i &lt; keys.size(); i++) { Integer key = keys.get(i); String value …
322 java  collections 

2
มี AddRange ที่เทียบเท่ากับ HashSet ใน C # หรือไม่
ด้วยรายการที่คุณสามารถทำได้: list.AddRange(otherCollection); ไม่มีวิธีการที่หลากหลายเพิ่มในเป็นHashSet วิธีที่ดีที่สุดในการเพิ่มคอลเล็กชันอื่นใน HashSet คืออะไร

5
ความแตกต่างระหว่าง Seq และรายการใน Scala
ฉันเคยเห็นในตัวอย่างมากมายที่บางครั้งใช้ Seq ในขณะที่เวลาอื่นคือรายการ ... มีความแตกต่างนอกเหนือจากที่เคยเป็นประเภทสกาล่าและรายชื่อมาจาก Java หรือไม่?
299 list  scala  collections  seq 

8
วิธีการแปลงชุดเป็นรายการ?
ฉันใช้TreeBidiMapจากห้องสมุดApache Collections doublesฉันต้องการที่จะจัดเรียงนี้กับค่าที่มี วิธีการของฉันคือการดึงCollectionค่าใดค่าหนึ่งโดยใช้: Collection coll = themap.values(); ซึ่งใช้งานได้ดีตามธรรมชาติ คำถามหลัก:ตอนนี้ฉันต้องการทราบว่าฉันสามารถแปลง / ส่ง (ไม่แน่ใจว่าสิ่งใดถูกต้อง) collลงในรายการListเพื่อให้สามารถเรียงลำดับได้หรือไม่ จากนั้นผมก็ตั้งใจจะย้ำกว่าเรียงListวัตถุที่ควรจะเป็นในการสั่งซื้อและได้รับกุญแจที่เหมาะสมจากTreeBidiMap( themap) โดยใช้themap.getKey(iterator.next())ที่ iterator doublesจะถูกกว่ารายชื่อของ

10
Java - วิธีสร้างรายการใหม่ (คีย์, ค่า)
ฉันต้องการสร้างรายการใหม่ที่คล้ายกับUtil.Map.Entryที่จะมีโครงสร้างkey, value. ปัญหาคือฉันไม่สามารถสร้างอินสแตนซ์ได้Map.Entryเนื่องจากเป็นส่วนต่อประสาน ไม่มีใครรู้วิธีสร้างวัตถุคีย์ / ค่าทั่วไปใหม่สำหรับ Map.Entry


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.