Мы представили API API массива JavaScript. В JavaScript массивы сами по себе очень сильны. Они могут хранить любой тип, а их длины автоматически расширяются. Они также предоставляют методы для пересечения, фильтрации и других операций на массивах.
Это полный массив Java (фиксированная длина, один тип). Занятия коллекций в Java компенсируют недостатки массивов. Большинство базовых слоев используют хранилище объекта [], которое предоставляет только стратегии динамического расширения. Конечно, богатый API JDK трудно соответствовать другим языкам.
Но это не мешает моей любви к Java и JavaScript.
Ява похожа на старуху средних лет. Вы всегда можете увидеть ее очарование в JDK. Создавая большую распределенную систему, она может отразить свои серьезные учения;
JavaScript - это девушка, которая собирается расцвести. Каждый раз, когда она расцветает, это будет вызывать рябь в вашем сердце. Вы должны быть тщательно обучены, чтобы использовать его для вас.
Хорошо, прости меня за неуместную метафору, дайте мне знать некоторые практические вещи.
/ ** *@Class ArrayList *@Описание *@Time 2014-09-16 21:59 *@Автор Starzou **/ function arraylist (arr) {this._elementdata = arr || []; } var arraylistprototype = {'_arrayprototype': array.prototype, '_getData': function () {return this._elementData; }, 'size': function () {return this._getData (). }, 'isempty': function () {return this.size () === 0; }, 'содержит': function (obj) {return this.indexof (obj)> -1; }, 'indexof': function (obj) {var i, data = this._getData (), length = data.length; for (i = 0; i <length; i ++) {if (obj === data [i]) {return i; }} return -1; }, 'LastIndexof': function (obj) {var i, data = this._getData (), length = data.length; for (i = length -1; i> -1; i--) {if (obj === data [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; вернуть OldValue; }, 'clear': function () {this._getData (). Length = 0; }, 'addall': function (index, array) {if (array) {this._getData (). splice (index, 0, array); } else {this._arrayprototype.push.apply (this._getdata (), index); }}}; Arraylist.prototype = arraylistprototype; // тестовый код 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);Приведенный выше код реализовал его часть, и есть некоторые оптимизации.
В будущем у меня будет время написать JavaScript для моделирования классов, которые реализуют такие структуры данных, как дерево, стек, очередь, карта и т. Д.