快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
V put(K key, V value) { 112. for (Item item : values) { 113. if (item.key.equals(key)) { 114. V replaced = item.value; 115. item.value = value; 116. return replaced; 117. } 118. } 119. 120. Item item = new Item(key, value); 121. values.add(item); 122. return null; 123. } 124. 125. /** 126. * 删除键。值也会删除。 127. * 128. * @param key 键 129. * 130. * @return 如果键存在则返回 true。 131. */ 132. public boolean remove(K key) { 133. for (Item item : values) { 134. if (item.key.equals(key)) { 135. values.remove(item); 136. return true; 137. } 138. } 139. return false; 140. } 141. 142. /** 143. * 删除指定位置的键和值 144. * 145. * @param index 位置 146. * 147. * @return 该位置的值 148. * 149. * @throws IndexOutOfBoundsException 如果位置超过范围 150. */ 151. public V remove(int index) { 152. return values.remove(index).value; 153. } 154. 155. /** 156. * 清除容器中的所有键和值 157. */ 158. public void clear() { 159. values.clear(); 160. } 161. 162. /** 163. * 获取指定位置上的值 164. * 165. * @param index 位置 166. * 167. * @return 值 168. * 169. * @throws IndexOutOfBoundsException 如果位置超过范围 170. */ 171. public V get(int index) { 172. return values.get(index).value; 173. } 174. 175. /** 176. * 设置指定位置的值 177. * 178. * @param index 位置 179. * @param value 新的值 180. * 181. * @return 旧的值 182. * 183. * @throws IndexOutOfBoundsException 如果位置超过范围 184. */ 185. public V set(int index, V value) { 186. Item item = values.get(index); 187. V old_value = item.value; 188. item.value = value; 189. return old_value; 190. } 191. 192. /** 193. * 在指定位置添加一个新的键和值 194. * 195. * @param index 位置 196. * @param key 键 197. * @param value 值 198. * 199. * @throws IllegalStateException 如果键已经存在 200. */ 201. public void add(int index, K key, V value) { 202. if (containsKey(key)) { 203. throw new IllegalStateException("key alreay exists."); 204. } 205. Item item = new Item(key, value); 206. values.add(index, item); 207. } 208. 209. /** 210. * 根据值查找所在的第一个位置 211. * 212. * @param value 值 213. * 214. * @return 值所在的第一个位置 215. */ 216. public int indexOfValue(V value) { 217. for (int i = 0; i < values.size(); i++) { 218. Item item = values.get(i); 219. if (item.value.equals(value)) { 220. return i; 221. } 222. } 223. return -1; 224. } 225. 226. /** 227. * 根据键查找所在位置 228. * 229. * @param key 键

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号