Mercurial Hosting > luan
comparison src/luan/LuanTable.java @ 81:9df729fa4419
minor
git-svn-id: https://luan-java.googlecode.com/svn/trunk@82 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Sat, 16 Feb 2013 06:58:00 +0000 |
parents | 4bf3d0c0b6b9 |
children | cca4f8522893 |
comparison
equal
deleted
inserted
replaced
80:851e356101c1 | 81:9df729fa4419 |
---|---|
11 import java.util.Set; | 11 import java.util.Set; |
12 import java.util.HashSet; | 12 import java.util.HashSet; |
13 import java.util.IdentityHashMap; | 13 import java.util.IdentityHashMap; |
14 | 14 |
15 | 15 |
16 public class LuanTable implements DeepCloneable<LuanTable> { | 16 public final class LuanTable implements DeepCloneable<LuanTable> { |
17 private Map<Object,Object> map = null; | 17 private Map<Object,Object> map = null; |
18 private List<Object> list = null; | 18 private List<Object> list = null; |
19 private LuanTable metatable = null; | 19 private LuanTable metatable = null; |
20 | 20 |
21 public LuanTable() {} | 21 public LuanTable() {} |
100 } | 100 } |
101 return rtn; | 101 return rtn; |
102 } | 102 } |
103 | 103 |
104 @Override public String toString() { | 104 @Override public String toString() { |
105 return "table: " + Integer.toHexString(hashCode()); | |
106 } | |
107 /* | |
108 @Override public String toString() { | |
105 return toString( Collections.newSetFromMap(new IdentityHashMap<LuanTable,Boolean>()) ); | 109 return toString( Collections.newSetFromMap(new IdentityHashMap<LuanTable,Boolean>()) ); |
106 } | 110 } |
107 | 111 |
108 private String toString(Set<LuanTable> set) { | 112 private String toString(Set<LuanTable> set) { |
109 // return "table: " + Integer.toHexString(hashCode()); | |
110 if( !set.add(this) ) { | 113 if( !set.add(this) ) { |
111 return "..."; | 114 return "..."; |
112 } | 115 } |
113 StringBuilder sb = new StringBuilder(); | 116 StringBuilder sb = new StringBuilder(); |
114 sb.append('{'); | 117 sb.append('{'); |
151 return t.toString(set); | 154 return t.toString(set); |
152 } else { | 155 } else { |
153 return Luan.toString(obj); | 156 return Luan.toString(obj); |
154 } | 157 } |
155 } | 158 } |
156 | 159 */ |
157 public Object get(Object key) { | 160 public Object get(Object key) { |
158 if( list != null ) { | 161 if( list != null ) { |
159 Integer iT = Luan.asInteger(key); | 162 Integer iT = Luan.asInteger(key); |
160 if( iT != null ) { | 163 if( iT != null ) { |
161 int i = iT - 1; | 164 int i = iT - 1; |