java如何保证数据不重复

java如何保证数据不重复

问:java如何生成12位永远不重复的数字
  1. 答:Calendar calendar = Calendar.getInstance();
    System.out.println("现在:"+calendar.getTime().getTime());
    calendar.add(Calendar.YEAR, 10);
    System.out.println("10年后:"+calendar.getTime().getTime());
    时间戳高并发还是会有重复的,你应该每获取一次加1的方法生成。用锁对象或者把方法声明为synchronized保证并发也不会重复。如果有用数据库,也可以用数据库提供的sequence来帮你生成。
    扩展资料:
    当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类;
    通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。
    参考资料来源;
问:JAVA中怎样实现数组中随机数不重复
  1. 答:可以参考下面的代码:
    public static void main(String[] args) {
    int s = -1;
    int a[] = new int[100];
    int i = 0;
    while (i < 100) {
    s = (int) (Math.random() * 100 + 1);
    for (int j = 0; j < 100; j++) {
    if (a[j] == s) {
    break;
    } else if (j == i) {
    a[i] = s;
    i++;
    break;
    }
    }
    }
    }
    扩展资料:
    java参考函数
    max(x,y) 返回 x 和 y 之间较大的数
    min(x,y) 返回 x 和 y 之间较小的数
    pow(x,y) 返回 y^x 的值
    random() 返回位于 0 到 1 之间的随机函数
    round(x) 四舍五进后与整
    sin(x) 返回数字的正弦值
    sqrt(x) 返回数字的平方根
    tan(x) 返回一个角度的正切值
    toSource() 显示对象的流代码
    valueOf() 返回数教对象的本初值
    参考资料来源:
问:java 集合set类中是如何实现数据不能重复的?
  1. 答:set 接口得到的就是不重复的数据,如果你插入了相同的会抛出异常的
  2. 答: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这门语言非常有帮助。
  3. 答:set可以过滤在其他集合中的元素,从而得到一个不重复的集合。
  4. 答:通过计算HashCode实现的
  5. 答:用Set的contains方法判断就可以了 你试试~
  6. 答:通过计算HashCode实现的
java如何保证数据不重复
下载Doc文档

猜你喜欢