Mercurial Hosting > luan
comparison core/src/luan/LuanTableImpl.java @ 224:05eb2837ddbf
change LuanTable.put() to not return old value
git-svn-id: https://luan-java.googlecode.com/svn/trunk@225 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Mon, 21 Jul 2014 09:27:06 +0000 |
parents | b76fcb72d97d |
children | 392105b660d7 |
comparison
equal
deleted
inserted
replaced
223:a9fe265dbac3 | 224:05eb2837ddbf |
---|---|
206 if( map==null ) | 206 if( map==null ) |
207 return null; | 207 return null; |
208 return map.get(key); | 208 return map.get(key); |
209 } | 209 } |
210 | 210 |
211 @Override public Object put(Object key,Object val) { | 211 @Override public void put(Object key,Object val) { |
212 Integer iT = Luan.asInteger(key); | 212 Integer iT = Luan.asInteger(key); |
213 if( iT != null ) { | 213 if( iT != null ) { |
214 int i = iT - 1; | 214 int i = iT - 1; |
215 if( list != null || i == 0 ) { | 215 if( list != null || i == 0 ) { |
216 if( i == list().size() ) { | 216 if( i == list().size() ) { |
217 if( val != null ) { | 217 if( val != null ) { |
218 list.add(val); | 218 list.add(val); |
219 mapToList(); | 219 mapToList(); |
220 } | 220 } |
221 return null; | 221 return; |
222 } else if( i>=0 && i<list.size() ) { | 222 } else if( i>=0 && i<list.size() ) { |
223 Object old = list.get(i); | |
224 list.set(i,val); | 223 list.set(i,val); |
225 if( val == null ) { | 224 if( val == null ) { |
226 listToMap(i); | 225 listToMap(i); |
227 } | 226 } |
228 return old; | 227 return; |
229 } | 228 } |
230 } | 229 } |
231 } | 230 } |
232 if( map==null ) { | 231 if( map==null ) { |
233 map = new HashMap<Object,Object>(); | 232 map = new HashMap<Object,Object>(); |
235 if( key instanceof Number && !(key instanceof Double) ) { | 234 if( key instanceof Number && !(key instanceof Double) ) { |
236 Number n = (Number)key; | 235 Number n = (Number)key; |
237 key = Double.valueOf(n.doubleValue()); | 236 key = Double.valueOf(n.doubleValue()); |
238 } | 237 } |
239 if( val == null ) { | 238 if( val == null ) { |
240 return map.remove(key); | 239 map.remove(key); |
241 } else { | 240 } else { |
242 return map.put(key,val); | 241 map.put(key,val); |
243 } | 242 } |
244 } | 243 } |
245 | 244 |
246 private void mapToList() { | 245 private void mapToList() { |
247 if( map != null ) { | 246 if( map != null ) { |