2011-07-28 6 views
0

내가 자바 스크립트 데이터 ListOrderedMap 같은 구조를 찾고 있어요 데이터 구조와 같은 : http://commons.apache.org/collections/apidocs/org/apache/commons/collections/map/ListOrderedMap.htmlListOrderedMap/ArrayMap 자바 스크립트

일예 인덱스에 객체를 추가하고 객체에 대한 색인을 가져올 수 있어야하며 객체의 ID로 객체를 조회 할 수 있어야합니다.

찾을 수있는 모든 라이브러리는 특정 색인에 개체를 추가 할 수 없습니다.

답변

0

는 데이터 구조가없는 또 다른 해결책은 GWT를 사용하고 ListOrderedMap.java의 자바 소스 코드를 사용하는 것입니다.

1

이와 비슷한? Javascript에는 배열 및 키 컬렉션, 그리고 이들의 조합에 대한 뛰어난 기능이 있습니다. 실제로

function LAM() { 
    this.ids = {} 
    this.indexes = [] 
} 

LAM.prototype.put = function(myObj, id, ix) { 
    this.ids[id] = myObj 
    this.indexes[ix] = id 
} 

LAM.prototype.getByIndex = function(ix) { 
    return this.ids[this.indexes[ix]] 
} 

: 자바 스크립트 이후

? a = new LAM 

? a.put("jhgf", "WE", 3) 

? a.ids.WE 
    jhgf 

? a.getByIndex(3) 
    jhgf 
+0

아, 잘 알고 있습니다. 그러나 많은 양의 데이터로 작업 할 때처럼 2 개의 데이터 구조를 사용하면 속도가 느려집니다. 제거시 O (N)이 될 것이고, 인덱스는 O (N)이 될 것이고, 인덱스는 O (N)이 될 것입니다. 그러나 이것을 프로토 타입 어플리케이션에 사용할 수 있습니다. – Zammbi

+0

대형 구조의 경우 얼마나 빠르는지 놀라실 수 있습니다. 나는 두세 번 있었다. 배열/키 집합/개체가 추가 기능 대신 모두 하나의 기본 데이터 형식이기 때문입니다. –