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

อาร์เรย์คือโครงสร้างข้อมูลเชิงเส้นที่เรียงลำดับซึ่งประกอบด้วยชุดขององค์ประกอบ (ค่าตัวแปรหรือการอ้างอิง) โดยแต่ละรายการจะถูกระบุด้วยดัชนีหนึ่งรายการหรือมากกว่า เมื่อถามเกี่ยวกับตัวแปรเฉพาะของอาร์เรย์ให้ใช้แท็กที่เกี่ยวข้องเหล่านี้แทน: [vector], [arraylist], [matrix] เมื่อใช้แท็กนี้ในคำถามที่เฉพาะเจาะจงกับภาษาการเขียนโปรแกรมให้แท็กคำถามด้วยภาษาการเขียนโปรแกรมที่ใช้

6
ฉันจะเริ่มต้นอาร์เรย์สตริงที่มีความยาว 0 ใน Java ได้อย่างไร
Java Docs สำหรับวิธีการ String[] java.io.File.list(FilenameFilter filter) นี้รวมอยู่ในคำอธิบายผลตอบแทน: อาร์เรย์จะว่างเปล่าถ้าไดเร็กทอรีว่างเปล่าหรือตัวกรองไม่ยอมรับชื่อ ฉันจะทำสิ่งที่คล้ายกันและเริ่มต้นอาร์เรย์ String (หรืออาร์เรย์อื่น ๆ สำหรับเรื่องนั้น) ให้มีความยาว 0 ได้อย่างไร

5
ประสิทธิภาพของ FOR vs FOREACH ใน PHP
ก่อนอื่นฉันเข้าใจใน 90% ของแอปพลิเคชันความแตกต่างของประสิทธิภาพนั้นไม่เกี่ยวข้องกันเลย แต่ฉันแค่ต้องรู้ว่าตัวไหนเร็วกว่า นั่นแล ... ข้อมูลที่มีอยู่บนอินเทอร์เน็ตในปัจจุบันทำให้เกิดความสับสน หลายคนบอกว่า foreach ไม่ดี แต่ในทางเทคนิคแล้วมันควรจะเร็วกว่าเพราะมันควรจะทำให้การเขียนการส่งผ่านอาร์เรย์ง่ายขึ้นโดยใช้ตัววนซ้ำ Iterators ซึ่งคาดว่าจะเร็วขึ้นอีกครั้ง แต่ใน PHP ก็เห็นได้ชัดว่าช้า (หรือนี่ไม่ใช่ PHP?) ฉันกำลังพูดถึงฟังก์ชั่นอาร์เรย์: next () prev () reset () เป็นต้นถ้าเป็นฟังก์ชั่นที่สม่ำเสมอและไม่ใช่หนึ่งในคุณสมบัติภาษา PHP ที่มีลักษณะเหมือนฟังก์ชัน เพื่อ จำกัด สิ่งนี้ให้แคบลงเล็กน้อย : ฉันไม่น่าสนใจในการสำรวจอาร์เรย์ในขั้นตอนที่มากกว่า 1 (ไม่มีขั้นตอนเชิงลบเช่นกันเช่นการวนซ้ำย้อนกลับ) ฉันยังไม่สนใจการลัดเลาะไปและกลับจากจุดใด ๆ โดยพลการเพียงแค่ 0 ถึงความยาว ฉันไม่เห็นการจัดการอาร์เรย์ที่มีมากกว่า 1,000 คีย์เกิดขึ้นเป็นประจำ แต่ฉันเห็นว่าอาร์เรย์ถูกข้ามผ่านหลายครั้งด้วยตรรกะของแอปพลิเคชัน! สำหรับการดำเนินการส่วนใหญ่เป็นเพียงการจัดการสตริงและการสะท้อนเท่านั้น เว็บไซต์อ้างอิงบางส่วนมีดังนี้: http://www.phpbench.com/ http://www.php.lt/benchmark/phpbench.php สิ่งที่ฉันได้ยินทุกที่: foreachช้าและทำให้for/ …

8
Javascript ES6 / ES5 ค้นหาในอาร์เรย์และการเปลี่ยนแปลง
ฉันมีอาร์เรย์ของวัตถุ ฉันต้องการค้นหาตามฟิลด์บางฟิลด์จากนั้นจึงเปลี่ยน: var item = {...} var items = [{id:2}, {id:2}, {id:2}]; var foundItem = items.find(x => x.id == item.id); foundItem = item; ฉันต้องการให้มันเปลี่ยนวัตถุเดิม อย่างไร? (ฉันไม่สนหรอกว่ามันจะอยู่ใน lodash ด้วยหรือเปล่า)

28
สร้างอาร์เรย์ต้นไม้จากอาร์เรย์แบบแบนในจาวาสคริปต์
ฉันมีไฟล์ json ที่ซับซ้อนซึ่งฉันต้องจัดการด้วยจาวาสคริปต์เพื่อทำให้เป็นลำดับชั้นเพื่อที่จะสร้างต้นไม้ในภายหลัง ทุกรายการของ json มี: id: id เฉพาะ, parentId: id ของโหนดพาเรนต์ (ซึ่งเป็น 0 ถ้าโหนดเป็นรูทของทรี) ระดับ: ระดับของความลึกในทรี ข้อมูล json "สั่งซื้อ" แล้ว ฉันหมายความว่ารายการจะมีโหนดแม่หรือโหนดบราเดอร์เหนือตัวเองและภายใต้โหนดลูกหรือโหนดพี่ชาย อินพุต: { "People": [ { "id": "12", "parentId": "0", "text": "Man", "level": "1", "children": null }, { "id": "6", "parentId": "12", "text": "Boy", "level": "2", "children": null }, …
134 javascript  arrays  list  tree 

13
การเพิ่มประสิทธิภาพใด ๆ สำหรับการเข้าถึงแบบสุ่มในอาร์เรย์ขนาดใหญ่มากเมื่อค่าใน 95% ของเคสเป็น 0 หรือ 1?
มีการเพิ่มประสิทธิภาพที่เป็นไปได้สำหรับการเข้าถึงแบบสุ่มในอาร์เรย์ขนาดใหญ่มากหรือไม่ (ปัจจุบันฉันใช้uint8_tและกำลังถามว่ามีอะไรดีกว่า) uint8_t MyArray[10000000]; เมื่อค่าที่ตำแหน่งใด ๆ ในอาร์เรย์คือ 0หรือ1สำหรับ95%ของทุกกรณี 2ใน4%ของกรณี ระหว่าง3ถึง255ในอีก1%ของกรณี? มีอะไรดีไปกว่าuint8_tอาร์เรย์ที่จะใช้สำหรับสิ่งนี้หรือไม่? ควรเร็วที่สุดเท่าที่จะเป็นไปได้ในการวนซ้ำอาร์เรย์ทั้งหมดตามลำดับแบบสุ่มและนี่หนักมากกับแบนด์วิดท์ RAM ดังนั้นเมื่อมีเธรดมากกว่าสองสามเธรดที่ทำเช่นนั้นในเวลาเดียวกันสำหรับอาร์เรย์ที่แตกต่างกันปัจจุบันแบนด์วิดท์ RAM ทั้งหมด อิ่มตัวอย่างรวดเร็ว ฉันถามเนื่องจากรู้สึกว่าไม่มีประสิทธิภาพมากที่จะมีอาร์เรย์ขนาดใหญ่ (10 MB) เมื่อทราบว่าค่าเกือบทั้งหมดนอกเหนือจาก 5% จะเป็น 0 หรือ 1 ดังนั้นเมื่อ 95% ของค่าทั้งหมดในอาร์เรย์ ต้องการเพียง 1 บิตแทนที่จะเป็น 8 บิตซึ่งจะลดการใช้หน่วยความจำลงเกือบจะเป็นลำดับความสำคัญ รู้สึกว่าจะต้องมีโซลูชันที่มีประสิทธิภาพหน่วยความจำมากกว่าซึ่งจะช่วยลดแบนด์วิดท์ RAM ที่จำเป็นสำหรับสิ่งนี้ได้อย่างมากและเป็นผลให้การเข้าถึงแบบสุ่มเร็วขึ้นอย่างมาก

10
เหตุใดคอมไพเลอร์ C และ C ++ จึงอนุญาตให้มีความยาวอาร์เรย์ในลายเซ็นของฟังก์ชันเมื่อไม่เคยบังคับใช้
นี่คือสิ่งที่ฉันพบในช่วงการเรียนรู้ของฉัน: #include<iostream> using namespace std; int dis(char a[1]) { int length = strlen(a); char c = a[2]; return length; } int main() { char b[4] = "abc"; int c = dis(b); cout << c; return 0; } ดังนั้นในตัวแปรint dis(char a[1])ที่[1]ดูเหมือนว่าจะทำอะไรและไม่ทำงานทั้งหมดเพราะฉันสามารถใช้ a[2]เช่นเดียวกับint a[]หรือchar *a. ฉันรู้ว่าชื่ออาร์เรย์เป็นตัวชี้และวิธีการถ่ายทอดอาร์เรย์ดังนั้นปริศนาของฉันจึงไม่เกี่ยวกับส่วนนี้ สิ่งที่ฉันอยากรู้คือทำไมคอมไพเลอร์ถึงยอมให้มีพฤติกรรมนี้ ( int a[1]) หรือมันมีความหมายอื่นที่ฉันไม่รู้?
133 c++  c  arrays 

13
ทำให้ var_dump ดูน่ารัก
ฉันได้$_GET[]ตั้งค่าแบบสอบถามแบบง่ายสำหรับการแสดงข้อมูลการทดสอบเมื่อดึงแบบสอบถามจากฐานข้อมูล <?php if($_GET['test']): ?> <div id="test" style="padding: 24px; background: #fff; text-align: center;"> <table> <tr style="font-weight: bold;"><td>MLS</td></tr> <tr><td><?php echo KEY; ?></td></tr> <tr style="font-weight: bold;"><td>QUERY</td></tr> <tr><td><?php echo $data_q; ?></td></tr> <tr style="font-weight: bold;"><td>DATA</td></tr> <tr><td><?php var_dump($data); ?></td></tr> </table> </div> <?php endif; ?> เมื่อฉันทำvar_dumpอย่างที่คาดไว้มันเป็นสตริงชุดใหญ่ที่ถูกเขี่ยบุหรี่ด้วยกัน มีวิธีการเพิ่มการขึ้นบรรทัดใหม่อย่างน้อยหนึ่งรายการหรือแสดงvar_dumpในลักษณะที่สามารถอ่านได้มากขึ้นหรือไม่ ฉันเปิดรับข้อเสนอแนะ jQuery เกี่ยวกับการจัดการสตริงหลังจากโพสต์แล้ว
132 php  arrays  var-dump 


10
ฟังก์ชั่น in_array case-insensitive PHP
เป็นไปได้หรือไม่ที่จะทำการเปรียบเทียบแบบตัวพิมพ์เล็กและใหญ่เมื่อใช้in_arrayฟังก์ชัน? ดังนั้นด้วย array ที่มาเช่นนี้ $a= array( 'one', 'two', 'three', 'four' ); การค้นหาต่อไปนี้จะกลับมาเป็นจริงทั้งหมด: in_array('one', $a); in_array('two', $a); in_array('ONE', $a); in_array('fOUr', $a); ฟังก์ชั่นหรือชุดของฟังก์ชั่นจะทำเช่นเดียวกัน? ฉันไม่คิดว่าin_arrayตัวเองสามารถทำสิ่งนี้ได้
131 php  arrays 


9
ลบรายการจากอาร์เรย์สถานะในการตอบสนอง
เรื่องราวคือฉันควรจะใส่บ็อบแซลลี่และแจ็คลงในกล่อง ฉันยังสามารถลบออกจากกล่องได้ เมื่อถอดออกไม่เหลือช่องเสียบ people = ["Bob", "Sally", "Jack"] ตอนนี้ฉันต้องลบพูดว่า "บ๊อบ" อาร์เรย์ใหม่จะเป็น: ["Sally", "Jack"] นี่คือองค์ประกอบปฏิกิริยาของฉัน: ... getInitialState: function() { return{ people: [], } }, selectPeople(e){ this.setState({people: this.state.people.concat([e.target.value])}) }, removePeople(e){ var array = this.state.people; var index = array.indexOf(e.target.value); // Let's say it's Bob. delete array[index]; }, ... ที่นี่ฉันจะแสดงโค้ดขั้นต่ำให้คุณดูเนื่องจากมีมากกว่านั้น (onClick ฯลฯ ) ส่วนสำคัญคือการลบลบทำลาย …

4
วิธีการคืนค่าอาร์เรย์จาก JNI ถึง Java?
ฉันพยายามใช้ Android NDK มีวิธีคืนอาร์เรย์ (ในกรณีของฉันint[]) สร้างใน JNI ถึง Java หรือไม่ ถ้าเป็นเช่นนั้นโปรดให้ตัวอย่างรวดเร็วของฟังก์ชั่น JNI ที่จะทำเช่นนี้ ขอบคุณ

8
การคูณแตกต่างกันอย่างไรสำหรับคลาส NumPy Matrix vs Array
เอกสาร numpy แนะนำให้ใช้อาร์เรย์แทนเมทริกซ์สำหรับการทำงานกับเมทริกซ์ อย่างไรก็ตามไม่เหมือนกับอ็อกเทฟ (ที่ฉันใช้จนถึงเมื่อไม่นานมานี้) * ไม่ทำการคูณเมทริกซ์คุณต้องใช้ฟังก์ชัน matrixmultipy () ฉันรู้สึกว่านี่ทำให้โค้ดอ่านไม่ออก มีใครแบ่งปันมุมมองของฉันและพบวิธีแก้ไขหรือไม่?

2
Java: int array เริ่มต้นด้วยองค์ประกอบที่ไม่ใช่ศูนย์
ตาม JLS intอาร์เรย์ควรเติมด้วยศูนย์หลังจากเริ่มต้น อย่างไรก็ตามฉันต้องเผชิญกับสถานการณ์ที่ไม่เป็นอยู่ พฤติกรรมดังกล่าวเกิดขึ้นก่อนใน JDK 7u4 และยังเกิดขึ้นในการอัปเดตทั้งหมดในภายหลัง (ฉันใช้การใช้งาน 64 บิต) รหัสต่อไปนี้แสดงข้อยกเว้น: public static void main(String[] args) { int[] a; int n = 0; for (int i = 0; i < 100000000; ++i) { a = new int[10]; for (int f : a) if (f != 0) throw new RuntimeException("Array …

4
วิธีสร้าง JSONArray ที่ถูกต้องใน Java โดยใช้ JSONObject
ฉันจะสร้าง JSON Object ดังต่อไปนี้ใน Java โดยใช้ JSONObject ได้อย่างไร { "employees": [ {"firstName": "John", "lastName": "Doe"}, {"firstName": "Anna", "lastName": "Smith"}, {"firstName": "Peter", "lastName": "Jones"} ], "manager": [ {"firstName": "John", "lastName": "Doe"}, {"firstName": "Anna", "lastName": "Smith"}, {"firstName": "Peter", "lastName": "Jones"} ] } ฉันพบตัวอย่างมากมาย แต่ไม่ใช่สตริง JSONArray ของฉัน
130 java  json  arrays 

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