java不添加重复数据

java不添加重复数据

问:java 集合set类中是如何实现数据不能重复的?
  1. 答:通过计算HashCode实现的
  2. 答:用Set的contains方法判断就可以了 你试试~
  3. 答:Set 有个 add 方法是将元素添加到 Set 中,以 HashSet 为例。
    public boolean add(E e) {
        return map.put(e, PRESENT)==null;
    }
    可以看到,HashSet 底层的数据结构是一个HashMap<E,Object> ,将 e 作为 HashMap 的 key 保存的。而 HashMap 的底层数据结构是 HashTable ,根据 HashMap 的 key 的HashCode 去 HashTable (具体实现是数组+链表) 里找到元素的位置。如果同一个对象(使用equals 来比较两个对象是否相同,具体是比较对象的 hashCode() 是否相同) 往Set 里放,最终放到 HashTable 的位置是相同的。具体判断Set 是否包含某个对象,调用的是Set的contains(Object o) 方法,它内部也是通过计算 o 的hashCode 去查找该元素是否存在的。
    如果题主是新学习Java的同学,建议重点学习一下常用集合的数据结构,对于掌握Java这门语言非常有帮助。
  4. 答:通过计算HashCode实现的
  5. 答:set可以过滤在其他集合中的元素,从而得到一个不重复的集合。
  6. 答:set 接口得到的就是不重复的数据,如果你插入了相同的会抛出异常的
问:在JAVA连接的数据库中插入数据时如何避免重复信息~
  1. 答:很简单,在插入数据库之前,先查询一下信息在数据库中是否存在。
    如数据表(User)字段有:
    id
    name
    age
    即将插入一条信息【1,“名字”,22】
    在插入数据之前,先
    select
    count(*)
    from
    User
    where
    id=1
    and
    name='名字'
    and
    age=22
    假若查询出来不为0,那么数据就重复了。
    根据这条线,很容易写出完整代码了。
  2. 答:给你要避免重复的字段建立唯一性约束,到时候java里捕获异常就可以了
问:JAVA如何不重复写入数据库?
  1. 答:在save前,你应该的先find数据库一遍,把查到的数据存入List
    里面,然后你在遍历这个List,看fatigueInfo.getDriver
    =
    a.getDriver()
    如果等于,就代表数据已经有相同的值,else就不重复
  2. 答:id
    是自增的
    本身就是不可重复的
    insert
    into
    table
    value(default,'lee',88);
    id
    系统给定自增
    就是唯一的数据
java不添加重复数据
下载Doc文档

猜你喜欢