快速业务通道

兼具List和Map的“容器”类ListMap - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
230. * 231. * @return 键所在位置 232. */ 233. public int indexOfKey(K key) { 234. if (key == null) { 235. return -1; 236. } 237. for (int i = 0; i < values.size(); i++) { 238. Item item = values.get(i); 239. if (item.key.equals(key)) { 240. return i; 241. } 242. } 243. return -1; 244. } 245. 246. /** 247. * 获取一个包含元素子集和的容器。容器的元素个数为 toIndex - fromIndex 248. * 249. * @param fromIndex 子集和的开始位置(含) 250. * @param toIndex 子集和的结束位置(不含) 251. * 252. * @return 包含元素子集和的容器 253. */ 254. public ListMap subList(int fromIndex, int toIndex) { 255. ListMap<K, V> map = new ListMap<K, V>(); 256. map.values.addAll(values.subList(fromIndex, toIndex)); 257. return map; 258. } 259. 260. /** 261. * 获取值 List 对象 262. * @return 包含值的 List 对象 263. */ 264. public List<V> values() { 265. List<V> list = new ArrayList<V>(); 266. for (Item item : values) { 267. list.add(item.value); 268. } 269. return list; 270. } 271. 272. /** 273. * 获取包含键的 List 对象 274. * @return 包含键的 List 对象 275. */ 276. public List<K> keys() { 277. List<K> list = new ArrayList<K>(); 278. for (Item item : values) { 279. list.add(item.key); 280. } 281. return list; 282. } 283. 284. /** 285. * 对键进行从小到大排序 286. */ 287. public void sortKey() { 288. Collections.sort(values, new Comparator<Item>() { 289. public int compare(Item i1, Item i2) { 290. Comparable c1 = (Comparable) i1.key; 291. Comparable c2 = (Comparable) i2.key; 292. if (c1 == null && c2 == null) return 0; 293. if (c1 == null) return -1; 294. if (c2 == null) return 1; 295. return c1.compareTo(c2); 296. } 297. }); 298. } 299. 300. /** 301. * 对值进行从小到大排序 302. */ 303. public void sortValue() { 304. Collections.sort(values, new Comparator<Item>() { 305. public int compare(Item i1, Item i2) { 306. Comparable c1 = (Comparable) i1.value; 307. Comparable c2 = (Comparable) i2.value; 308. if (c1 == null && c2 == null) return 0; 309. if (c1 == null) return -1; 310. if (c2 == null) return 1; 311. return c1.compareTo(c2); 312. } 313. }); 314. } 315. 316. /** 317. * 对容器元素进行倒排 318. */ 319. public void reverse() { 320. Collections.reverse(values); 321. } 322. 323. /** 324. * 内部类 325. */ 326. private class Item { 327. 328. public K key; 329. 330. public V v

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号