list 遍列对像

问题描述

package com.pro;import java.util.Date;public class Credence implements java.io.Serializable {// Fieldsprivate Integer keyId;public Credence() {}public Credence(Integer keyId) {this.keyId = keyId;} public Integer getKeyId() {return this.keyId;}public void setKeyId(Integer keyId) {this.keyId = keyId;}public boolean equals(Object obj) {if (obj instanceof Credence) {Credence cd = (Credence) obj;return (keyId.equals(cd.keyId));}return super.equals(obj);}public int hashCode() {return keyId.hashCode();}}public class DemoTest {/** * @param args */public static void main(String[] args) {Credence cd = new Credence();List list = new ArrayList();for(int i=0;i<10;i++){cd.setKeyId(i);list.add(i,cd);}Iterator iterator = list.iterator(); while(iterator.hasNext()) { cd = (Credence)iterator.next(); System.out.println(cd.getKeyId()); }}}怎么无法遍列出对像的,输出都是9,麻烦高手帮我解决,谢谢!

解决方案

# Credence cd = new Credence(); # List list = new ArrayList(); # for(int i=0;i<10;i++){ # cd.setKeyId(i); # list.add(i,cd); # } 里的代码修改成# Credence cd ; # List list = new ArrayList(); # for(int i=0;i<10;i++){ # cd = new Credence();# cd.setKeyId(i); # list.add(i,cd); # } 每次新建一个Credence对象,不然一直再操作同一个。。。。
解决方案二:
Credence cd = new Credence(); List list = new ArrayList(); for(int i=0;i<10;i++){ cd.setKeyId(i); list.add(i,cd); } 里代码改为 Credence cd ; List list = new ArrayList(); for(int i=0;i<10;i++){ cd = new Credence(); cd.setKeyId(i); list.add(i,cd); } 不然一直操作的都是同一个Credence对象...

时间: 2024-10-24 18:16:06

list 遍列对像的相关文章

DataGrid中加入CheckBox,并实现单选

datagrid 第一次发表,不会写.直接把原文件给大家看算了!! 原理就是用JS遍列所有CheckBox把所有CheckBox设为未被选中,然后在把单击的CheckBox设为选中 以下是.ASPX文件 <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="DataGridCheck.WebForm1"

C# 利用StringBuilder提升字符串拼接性能的小例子

用Stopwatch分段监控了一下,发现耗时最多的函数是SaveToExcel 此函数中遍列所有数据行,通过Replace替换标签生成Excel行,然后将行数据累加赋值到一个字符串 复制代码 代码如下: string excelString = ""; foreach(var item in list){         excelString += string.Format("<row>....{0}</row>",list.Title)

c# 如何在Dictionary 里value保留数组的引用

问题描述 class1{ String[]str1; String[]str2;Dictionary<string,String[]>classHolder;方法1{classHolder=newDictionary<string,String[]>();classHolder.Add("1", str);classHolder.Add("2", str2);}方法2{ String[]str1=null; String[]str2=null

聊一聊Java反射_java

这次提到的Java反射涉及的代码比较多.因为工作中经常用到反射,对代码做了很多抽象以及过滤器.虽然代码量很多,但是简单易用,过滤插件也易修改. 下面介绍下工作中哪些地方比较容易用到反射.比如插件或者过滤器,如果抽象的子类比较少,配置成XML等结构也是可以达到同样的效果.如果希望灵活一些,添加了插件或者过滤器代码子类后希望可以直接使用.可能反射会比较好点,通过扫描所有class或者jar文件,得到所有继承的子类.如果每次调用都扫描所有的文件会比较影响性能.所以在实现里面加入反射缓存,对所要获取反射

跟老齐学Python之正规地说一句话_python

小孩子刚刚开始学说话的时候,常常是一个字一个字地开始学,比如学说"饺子",对他/她来讲,似乎有点难度,大人也聪明,于是就简化了,用"饺饺"来代替,其实就是让孩子学会一个字就能表达.当然,从教育学的角度,有人不赞成这种方法.这个此处不讨论了.如果对比学习编程,就好像是前面已经学习过的那些各种类型的数据(对应这自然语言中的单个字.词),要表达一个完整的意思,或者让计算机完成一个事情(动作),不得不通过一句话,这句话就是语句,它是按照一定规则组织起来的.自然语言中的一句话

【算法导论】红黑树

红黑树          在了解红黑树之前,我们必须先了解二叉搜索树(又称二叉排序树,我在上一篇文章中有介绍),因为红黑树是一种特殊的二叉排序树:在每个节点上增加一个存储位来表示节点的颜色,因此红黑树共有五个域:color,key,lchild,rchild,p.          红黑树的提出:一个高度为h的二叉排序树可以实现任何一种基本的动态集合操作:插入.删除.查找等操作,但是当树才高度比较高时,二叉树就会退化成链表.而红黑树能确保在最坏的情况下,基本的动态集合操作的时间为O(logn).

浅析栈区和堆区内存分配的区别_C 语言

一直以来总是对这个问题的认识比较朦胧,我相信很多朋友也是这样的,总是听到内存一会在栈上分配,一会又在堆上分配,那么它们之间到底是怎么的区别呢?为了说明这个问题,我们先来看一下内存内部的组织情况. 从上图可知,程序占用的内存被分了以下几部分. 1.栈区(stack)由编译器自动分配释放 ,存放函数的参数值,局部变量的值等,内存的分配是连续的,类似于平时我们所说的栈,如果还不清楚,那么就把它想成数组,它的内存分配是连续分配的,即,所分配的内存是在一块连续的内存区域内.当我们声明变量时,那么编译器会自

DataReader深入解析:持续更新_自学过程

//香水坏坏 AT 06-07-25 //郁闷的事情总是接连不断,无形的压力来自内心的恐惧 大家在用.net进行数据操作的时候,接触DataReader不少. System.Data.OleDb.OleDbDataReader; System.Data.Odbc.OdbcDataReader; System.Data.SqlClient.SqlDataReader; inherit from     System.MarshalByRefObject;//允许在支持远程处理的应用程序中跨应用程序

《Excel高手捷径:一招鲜,吃遍天》一第24招 怎样快速把多列数据变为一列数据

第24招 怎样快速把多列数据变为一列数据 Excel高手捷径:一招鲜,吃遍天如图1-93所示,一张表格中有多列数据,如果要把这些数据全部复制粘贴到一列,每列数据行数不一样.如果一列列地把数据选中后复制粘贴会很慢,这里介绍一个方法快速实现. 首先,我们打开"剪贴板",单击下面截图中标红的那个按钮,如图1-94所示. 一列列数据选中后复制,剪贴板上就显示全部要粘贴的项目,如图1-95所示 最后在空白列中单击剪贴板上的"全部粘贴",这样多列数据就粘贴到一列了. 由于各列行