相关疑难解决方法(0)

617
推荐指数
11
解决办法
57万
查看次数

Hibernate - > ArrayList不能转换为Set

我有一个Java EE应用程序,我使用Hibernate.域对象,我将List/ArrayList更改为Set/HashSet,因为最好使用Sets.

但是在我的Dao实现中我遇到了一个问题:

public Set<Person> getAllPersons() {
    SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
    Session sess = sessionFactory.getCurrentSession();

    Transaction tx = sess.beginTransaction();
    @SuppressWarnings("unchecked")
    Set<Item> items = (Set<Item>) sess.createQuery("from Item").list();
    tx.commit();

    return items;
}
Run Code Online (Sandbox Code Playgroud)

在这里我收到一个错误:

java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Set
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能避免这个错误?

提前谢谢你和最诚挚的问候.

java hibernate arraylist set classcastexception

9
推荐指数
1
解决办法
3万
查看次数

从排序数组列表中删除重复项并返回java中的大小而不使用额外的空间

与下面的代码相比,是否有更好的方法从数组列表中删除重复项,当遇到较大的输入时,它的工作时间为 O(n) 。任何建议,将不胜感激。谢谢。

注意:- 不能使用任何额外空间,应就地解决。

输入:- 这将是一个带有重复项的排序数组。

代码 :-

    public int removeDuplicates(ArrayList<Integer> a) {

        if(a.size()>1){
        for( int i=0;i<a.size()-1;i++ ) {

          if(a.get(i).intValue() == a.get(i+1).intValue() ) {
            a.remove(i);
            i--; 
          }

      }
      }
    return a.size();

    }
Run Code Online (Sandbox Code Playgroud)

请在编码器链接处测试代码。

https://coderpad.io/MXNFGTJC

java algorithm data-structures

3
推荐指数
1
解决办法
2187
查看次数