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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于JAVA提高教程(8)-认识List列表之Vector - 编程入门网的所有评论