Hibernate6 集合映射

来源:互联网 发布:论文统计学分析软件 编辑:程序博客网 时间:2024/05/15 06:22
98人阅读评论(0)收藏举报
集合映射
一.映射Set
    Set是一个集合接口,它的特性和数学上的集合有点类似,Set中存放的是对象的引用,继承自Collection借口.
特性:    1:不允许存放重复元素。
            2:元素是无序。
            3:主要有HashSet,LinkedHashSet,TreeSet 3个实现Set接口的具体类。
    (1).HashSet按照特定的Hash算法存取对象,效率较高,存取对象的速度快。
    (2).LinkedHashSet是HashSet的子类,它使用链表数据结构存取,与HashSet不同之处在于LinkHashSet中的元素具有固定的顺序
    (3).TreeSet是一个具有排序功能的集合,实现了Sorted接口,在加入对象时,按照集合中的对象进行了排序。但加入用户自定义时,如Student类,则Student类需要实现Comparable接口排序。

二.映射List
  List是一个集合接口,他继承自Collection接口,List中存放的是对象的引用
特性:    1.List中可以存放重复元素。
              2.List中的元素是一个有序的集合,可以通过索引访问List中的元素。
              3.List主要有ArryList和LinkedList实现Set接口的具体类。  
      (1).ArryList是一个可变的数组,它具有快速读取对象的特性,但是如果删除或者插入对象则效率较底;因为每次位置i插入一个对象时,从位置i+1到最后都要移一个位置;而每次删除位置i上的一个对象,从位置i+1到最后则要前移一个位置。
      (2).LinkedList在内部采用链表的形式存储数据,因此在删除和插入对象时会有较高的效率。如果经常需要在List中插入和删除数据,建议使用LinkList;如果List中的对象很少,建议使用ArrayList p0Aj=79]B
?Cui"EDu
三.映射Bag
    Bag并不是Java中的接口,它是Hibernate提供的集合,Bag中可以有重复的元素,但是Bag中的元素并没有排序。如果有大量的重复数据,<Bag>标签的效率比较低,它在更新数据时采用的是先删除要更新的数据,然后插入数据。使用<ibag>可以避免这种情况。

四.映射Map
    Map是java中的接口,它是一种重要的集合,它使用Key/value的方式存储数据.
转自:http://blog.csdn.net/eric_jiang0702/article/details/2483518