- ActionsCript 작업중 , hashmap를 이용할 일이 었어서 검색을 하던 중 발견 하여 . 올려 봅니다.
class com.lib.data.holder.map.HashMap
{
public var keys:Array;
public var values:Array;
//
public function HashMap(source)
{
super();
this.keys = new Array();
this.values = new Array();
this.populate(source);
}
public function populate(source)
{
if (source)
{
for (var i in source)
{
this.put(i, source[i]);
}
}
}
public function containsKey(key)
{
return (this.findKey(key) > -1);
}
public function containsValue(value)
{
return (this.findValue(value) > -1);
}
public function getKeys(Void)
{
return (this.keys.slice());
}
public function getValues(Void)
{
return (this.values.slice());
}
public function get(key)
{
return (values[this.findKey(key)]);
}
public function put(key, value)
{
var oldKey;
var theKey = this.findKey(key);
if (theKey < 0)
{
this.keys.push(key);
this.values.push(value);
}
else
{
oldKey = values[theKey];
this.values[theKey] = value;
}
return (oldKey);
}
public function putAll(map)
{
var theValues = map.getValues();
var theKeys = map.getKeys();
var max = keys.length;
for (var i = 0; i < max; i = i - 1)
{
this.put(theKeys[i], theValues[i]);
}
}
public function clear(Void)
{
this.keys = new Array();
this.values = new Array();
}
public function remove(key)
{
var theKey = this.findKey(key);
if (theKey > -1)
{
var theValue = this.values[theKey];
this.values.splice(theKey, 1);
this.keys.splice(theKey, 1);
return (theValue);
}
}
public function size(Void)
{
return (this.keys.length);
}
public function isEmpty(Vois)
{
return (this.size() < 1);
}
public function findKey(key)
{
var index = this.keys.length;
while(this.keys[--index] !== key && index > -1)
{
}
return(index);
}
public function findValue(value)
{
var index = this.values.length;
while(this.values[--index] !== value && index > -1)
{
}
return (index);
}
}
##사용방법##
import com.lib.data.holder.map.*;
/* Add John to your `contact` list */
var myContacts:HashMap = new HashMap();
myContacts.put("John", new HashMap());
/* Get John, and add a `contacts` list */
var contact:HashMap = myContacts.get("John");
contact.put("contacts", new HashMap());
/* Add Johns contacts to the list */
var theContacts:HashMap = contact.get("contacts");
theContacts.put(0, "Mary");
theContacts.put(1, "Alex");
theContacts.put(2, "Julie");
/* Is Alex a contact of John? */
var isContact = myContacts.get("John").get("contacts").containsValue("Alex");
if (isContact) trace("Alex is contact of John");
else trace("Alex is Not a contact of John");
/* Is Mark a contact of John? */
var isContact = myContacts.get("John").get("contacts").containsValue("Mark");
if (isContact) trace("Mark is contact of John");
else trace("Mark is Not a contact of John");
/* Add John to your `contact` list */
var myContacts:HashMap = new HashMap();
myContacts.put("John", new HashMap());
/* Get John, and add a `contacts` list */
var contact:HashMap = myContacts.get("John");
contact.put("contacts", new HashMap());
/* Add Johns contacts to the list */
var theContacts:HashMap = contact.get("contacts");
theContacts.put(0, "Mary");
theContacts.put(1, "Alex");
theContacts.put(2, "Julie");
/* Is Alex a contact of John? */
var isContact = myContacts.get("John").get("contacts").containsValue("Alex");
if (isContact) trace("Alex is contact of John");
else trace("Alex is Not a contact of John");
/* Is Mark a contact of John? */
var isContact = myContacts.get("John").get("contacts").containsValue("Mark");
if (isContact) trace("Mark is contact of John");
else trace("Mark is Not a contact of John");
게시글 목록
| 번호 | 제목 |
|---|---|
| 15265 |
Mobile
맥부기카페
|
| 26093 | |
| 15262 |
Mobile
하이브리드앱 공부를 위한 추천책
2
|
| 3437 | |
| 15257 |
node.js
노드에 관심이 가기 시작했습니다.~~
4
|
| 3429 | |
| 15256 | |
| 15252 | |
| 15251 | |
| 15250 | |
| 15246 |
PHP
php로 이미지 흑백효과
3
|
| 15242 |
jQuery
jQuery 1.7 Cheat Sheet
3
|
| 3425 | |
| 3418 | |
| 15236 | |
| 3411 | |
| 15233 |
node.js
요즘 공부를 못하고 있습니다.
2
|
| 15229 |
jQuery
[jquery] 구글 jquery 호스팅
3
|
| 15228 |
Flash
[PODCAST]순위올리기
|
| 15226 |
node.js
node.js 설치하기
1
|
| 3399 | |
| 15224 | |
| 15217 | |
| 15195 |
jQuery
jquery 기본 예제
21
|
| 15193 | |
| 3373 | |
| 3360 | |
| 15188 | |
| 29852 | |
| 15181 |
JavaScript
윈도우 서버 사용자 - ddos
6
|
| 15159 | |
| 3350 | |
| 15158 | |
| 15157 | |
| 15152 |
node.js
nodejs, npm 설치시 오류 해결
4
|
| 15150 |
JavaScript
Bing 번역 API
1
|
| 3334 | |
| 15144 | |
| 15140 | |
| 3331 | |
| 15136 |
JavaScript
익스플로러 버전별 테스트
3
|
| 29848 |
HTML
브라우저별 개발모드
3
|
| 15129 |
node.js
nodejs 란.. [개발자게시판 펌]
6
|
| 15107 |
jQuery
질문해도 되나요?
21
|
| 3320 | |
| 15106 | |
| 15095 | |
| 29847 |
JavaScript
Http Live Stream 에 관하여
|
| 15094 | |
| 3314 | |
| 15091 |
jQuery
jQuery Mobile Event API
2
|
| 15089 |
node.js
저도 끼어도 되나요?
1
|
| 29834 |
JavaScript
img 자체에서 이미지 없을때 안보이게 하기
12
|
| 15088 |
node.js
앗 이게 뭔일이래요..^^
|
| 3303 | |
| 15085 |
node.js
명랑폐인님 얼른 오세요.
2
|
| 15084 | |
| 26091 | |
| 15083 | |
| 15073 | |
| 15071 | |
| 3290 | |
| 24301 | |
| 15067 |
JavaScript
js css 최적화 압축
3
|
| 3285 | |
| 3270 | |
| 15064 | |
| 29829 | |
| 15062 |
JavaScript
cron을 사용할 수 없으니 이런 방법도..
1
|
| 15053 |
jQuery
jquery 스크롤바
8
|
| 3261 | |
| 3252 | |
| 3249 | |
| 15050 | |
| 3243 | |
| 15046 | |
| 24291 | |
| 24278 | |
| 3231 | |
| 15042 |
Linux
sendmail 이 느려진 경우
3
|
| 24275 | |
| 3225 | |
| 26075 | |
| 15041 |
JavaScript
MVC model 로 구축해보자
|
| 3222 | |
| 3218 | |
| 15025 |
Flash
부드러운 슬라이드 만들기
15
|
| 15024 |
기타
셀렉트 태그 자동생성
|
| 15018 |
JavaScript
리눅스에서 오라클 10g설치 때
5
|
| 29821 | |
| 15015 |
jQuery
테이블 드래그..
2
|
| 15013 | |
| 15012 |
JavaScript
c# , Application 제작시 유용하게 사용 할 수 있는 에디터
|
| 3210 | |
| 3200 | |
| 3198 | |
| 24274 | |
| 15005 |
jQuery
jQuery each 거꾸로 반환하기
6
|
| 3188 | |
| 15001 |
JavaScript
사이트를 브라우저별로 테스트 해주는 사이트.
3
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기