Wir haben die JavaScript -Array -API vorgestellt. In JavaScript sind Arrays an sich sehr mächtig. Sie können jede Art speichern und ihre Längen werden automatisch erweitert. Sie bieten auch Methoden zum Durchqueren, Filtern und anderen Operationen auf Arrays.
Es ist ein komplettes Java -Array (feste Länge, einzelner Typ). Die Sammelklassen in Java machen die Mängel von Arrays aus. Die meisten der zugrunde liegenden Ebenen verwenden Objektspeicher, der nur dynamische Expansionsstrategien liefert. Natürlich ist die reiche API von JDK mit anderen Sprachen schwer zu erreichen.
Aber es behindert meine Liebe zu Java und JavaScript nicht.
Java ist wie eine alte Frau mittleren Alters. Sie können ihren Charme in JDK immer sehen. Durch den Bau eines großen verteilten Systems kann sie ihre ernsthaften Lehren widerspiegeln.
JavaScript ist ein Mädchen, das im Begriff ist zu blühen. Jedes Mal, wenn sie blüht, wird es Wellen in Ihrem Herzen erregen. Sie müssen sorgfältig geschult werden, um es für Sie zu verwenden.
Ok, vergib mir für unangemessene Metapher, lass mich einige praktische Dinge wissen.
/ ** *@class ArrayList *@Beschreibung *@Time 2014-09-16 21:59 *@Autor Starzou **/ Funktion ArrayList (arr) {this._elementData = arr || []; } var arrayListPrototype = {'_arrayPrototype': array.prototype, '_getData': function () {return this._elementData; }, 'Größe': function () {return this._getData (). Länge; }, 'isempty': function () {return this.size () === 0; }, 'enthält': function (obj) {return this.indexof (obj)> -1; }, 'indexof': function (obj) {var i, data = this._getData (), Länge = data.length; für (i = 0; i <Länge; i ++) {if (obj === Daten [i]) {return i; }} return -1; }, 'lastIndexof': function (obj) {var i, data = this._getData (), Länge = data.length; für (i = Länge -1; i> -1; i--) {if (obj === Daten [i]) {return i; }} return -1; }, 'get': function (index) {return this._getData () [index]; }, 'set': function (index, element) {this._getData () [index] = element; }, 'add': function (index, element) {if (element) {this.set (index, element); } else {return this._getData (). push (index); }}, 'remove': function (index) {var oldValue = this._getData () [index]; this._getData () [index] = null; kehren Sie OldValue zurück; }, 'Clear': function () {this._getData (). Länge = 0; }, 'addAll': function (index, array) {if (array) {this._getData (). splice (index, 0, array); } else {this._arrayPrototype.push.apply (this.getData (), Index); }}}; ArrayList.Prototype = ArrayListPrototype; // Code testen var arr = new ArrayList ([3, 6, 5, 'xyz', 'foo', 'xyz']); console.log (arr.contains ('xyz')); console.log (arr.indexof ('xyz')); console.log (arr.lastIndexof ('xyz')); console.log (arr.get (2)); arr.addall ([1, 2, 3]); console.log (arr);Der obige Code hat einen Teil davon implementiert, und es gibt einige Optimierungen.
In Zukunft habe ich Zeit, JavaScript zu schreiben, um Klassen zu simulieren, die Datenstrukturen wie Baum, Stapel, Warteschlange, Karte usw. implementieren.