快速业务通道

JAVA提高教程(8)-认识List列表之Vector - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
add(123); 178. list.add(456); 179. list.add(123); 180. list.add(456); 181. // 数据允许重复 182. showList(list); // [123, 456, 123, 456] 183. 184. list.add(null); 185. list.add(789); 186. list.add(null); 187. list.add(999); 188. // 允许放入多个null 189. showList(list); // [123, 456, 123, 456, null, 789, null, 999] 190. 191. // ------------------------------------------------------- 192. // 测试一下查找最后一次出现的位置 193. // ------------------------------------------------------- 194. System.out.println(list.indexOf(123)); // 0 195. System.out.println(list.lastIndexOf(123)); // 2 196. 197. // ------------------------------------------------------- 198. // 转化为数组 199. // 记得要转化为Inerger. 200. // ------------------------------------------------------- 201. Integer[] nums = (Integer[]) list.toArray(new Integer[0]); 202. // 注意数据里面有null,所以循环变量不要用int 要用Integer 203. for (Integer num : nums) { 204. System.out.print(num + " "); // 123 456 123 456 null 789 null 999 205. } 206. System.out.println(); 207. 208. } 209. 210. public static void testForProblem() { 211. // 一些朋友在向循环里向列表增加对象的时候 212. // 经常忘记初始化,造成最终加入的都是同一个对象 213. List<MyObject2> list = new Vector<MyObject2>(); 214. MyObject2 obj = new MyObject2(); 215. for (int i = 1; i <= 5; i++) { 216. obj.setName("Name" + i); 217. list.add(obj); 218. } 219. // 里面的数据都是最后一个 220. showList(list); // [Name5, Name5, Name5, Name5, Name5] 221. 222. // 正确的做法 223. List<MyObject2> list2 = new Vector<MyObject2>(); 224. MyObject2 obj2 = null; 225. for (int i = 1; i <= 5; i++) { 226. obj2 = new MyObject2(); 227. obj2.setName("Name" + i); 228. list2.add(obj2); 229. } 230. // 里面的数据都是最后一个 231. showList(list2); // [Name1, Name2, Name3, Name4, Name5] 232. } 233. 234. /** 235. * 显示List里面的数据。 236. * 237. * @param list 238. */ 239. private static void showList(List list) { 240. System.out.println(Arrays.toString(list.toArray())); 241. } 242.} 243. 244.class MyObject2 { 245. private String name; 246. 247. public String getName() { 248. return name; 249. } 250. 251. public void setName(String name) { 252. this.name = name; 253. } 254. 255. /** 256. * 重写toString方法,输出name 257. */ 258. public String toString() { 259. return name; 260. } 261.}

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