今天在写导入功能的时候某列中是否有重复值,我是这么处理的!


Set<String> sett= new HashSet<String>();
        for(int i=2;i<row;i++){
          if( !sett.add(sheet.getCell(0,i).getContents())){
            jsonMsg = "{success:false,msg:'批量导入失败,第" + (i-1) + "行型号在表格中有重复!'}";
            book.close();
            response.getWriter().write(jsonMsg);
            return;
          }
        }

下面顺便说说Set  的add方法,以下是测试程序

package com.ybxywz.start.test;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class TestSet {
  public static void main(String args[]){
      Set<String> sett=new HashSet<String>();
      System.out.println("添加第一个元素返回值:"+sett.add("type1"));
      System.out.println("添加的第二个元素返回值:"+sett.add("type2"));
      System.out.println("添加重复元素后的返回值:"+sett.add("type2"));
      System.out.println("当插入空值的时候返回什么?"+sett.add(""));
      System.out.println("当插入重复的空值的时候返回什么?"+sett.add(""));
      Iterator it=sett.iterator();
      System.out.print("sett遍历输出:");
      while(it.hasNext()){
          System.out.print(it.next()+",");
      }
  }
}

以下是打印输出:

添加第一个元素返回值:true
添加的第二个元素返回值:true
添加重复元素后的返回值:false
当插入空值的时候返回什么?true
当插入重复的空值的时候返回什么?false
sett遍历输出:,type1,type2,