java遍历集合某字段,判断是否存在相同的值。

java遍历集合某字段,判断是否存在相同的值。数据库有几十条数据,页面每次可编辑15条。编辑时可新增行和删除行。如何判断某字段值是否唯一??求助。

注:for (GoodsBean goods : list)是对链表进行循环遍历
spid--商品ID,spmch--商品名称
这个例子是我从现在做的一个购物车的例子里抽出来的一部分,可以运行,你试试 ,呵呵

/**
* 判断一个list里某个字段是否全相等
* @param list
* @return
*/
public static boolean isEqual(List<GoodsBean> list) {
List<String> listid = new ArrayList<String>();
for (GoodsBean goods : list) {
String spid = goods.getSpid();
listid.add(spid);
}
if (listid != null) {
String firstspid = listid.get(0);
for (String spid : listid) {
if (!spid.equals(firstspid)) {
System.out.println("有一个不相等,返回false");
return false;
}

}
return true; //循环完没有找到相等的返回true
}
return false; //为空返回false

}
GoosBean是存放在List里的一个javabean

public class GoodsBean implements Serializable{

/**
*
*/
private static final long serialVersionUID = 1437224000720087048L;
private String spid;
private String spmch;

// 构造方法
public GoodsBean(String spid, String spmch) {
this.spid = spid;
this.spmch = spmch;

}

public GoodsBean() {

}

// 一般方法
public String getSpid() {
return spid;
}

public void setSpid(String spid) {
this.spid = spid;
}

public String getSpmch() {
return spmch;
}

public void setSpmch(String spmch) {
this.spmch = spmch;
}
}追问

谢谢你。可惜这个和我的不太一样。

这个问题我解决了。把页面编辑过的行设置标志位为1,通过set判断页面数据是否重复。再查出数据库中所有的数据为map,把map中已编辑过的数据从map中remove(),得到未编辑过的所有数据。再把页面中编辑过的和新增的数据和map比较,如果map的value相同,则存在重复的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-06
在输入时,全部遍历判断是否存在

~~追问

不行。编辑第一页时,如果输入第二页的值,就不行了。

相似回答