Tag: 集合

Stack类型不是通用的; 它不能使用参数进行参数化

我正在尝试编写一个简单的程序来使用stacks.It给了我错误 Stack类型不是通用的; 它不能用参数参数化 import java.util.*; public class Stack { public static void main(String[] args) { Stack stack = new Stack (); s.push(“Hello”); System.out.println(s); } }

Java集合 – 对元素的多态访问

我有一个ThisH的LinkedHashSet值。 ThisType正在实现接口ThatType 。 我需要对此集合进行多态使用 – 能够将其指向LinkedHashSet 。 这是怎么做到的? 我知道这是一个天真的问题,但我试过的几件事情都行不通,我想以正确的方式去做。 提前致谢。 // ============================== 更新:更多细节: 在以下代码中, ThisType实现了ThatType – ThatType是一个接口。 //LinkedHashMap theMap = new LinkedHashMap(); LinkedHashMap theMap = new LinkedHashMap(); for (Integer key:intArray) { ThisType a = new ThisType(); if (theMap.containsKey(key)) { a = theMap.get(key); a.doStuff(); } else { a.doOtherStuff(); } theMap.put(key, a); } 最后,我想将theMap作为ThatType **的集合返回,而不是** ThisType 。 […]

从Java集合中删除对象

我有一个HashMap (虽然我猜这个问题适用于其他集合)的对象。 根据我的理解,当文档谈到删除映射时,它将从哈希表中删除条目,即不一定要破坏实际对象。 如果对象的唯一剩余引用是在此表中,那么对象是否会被垃圾收集? 如果我执行map.clear()并且那些表中的对象没有在其他任何地方引用,它们会被垃圾收集吗? 实际删除表中所有条目的最快方法是什么,但也要销毁这些对象。

排序集的最佳方法是什么?

我有一个代表汽车的class级: public class Car implements Comparable { String name; int value; … @Override public int compareTo(Car o) { return name.compareTo(o.name); } } 和另一个代表种族的类: public class Race { cars = new HashSet(); … public Collection sortByName() { List carList = new ArrayList(cars); Collections.sort(carList); return carList; } } 它是我对排序Set的实现,我知道有一个TreeSet但我不知道如何通过TreeSet而不是HashSet来比较它,因为如果我使用TreeSet我找不到方法comprator(),任何人都可以帮助我,如果我正在做好吧,如果不是如何使用TreeSet?

比较不同类型的物体具有可比性

A.java public class A implements Comparable { private String id; private String name; public A(String a, String b) { id = a; name = b; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name […]

JPA @OrderBy()通过关系表

我需要一些JPA框架的帮助。 我已经阅读了关于这个主题的一些答案,但我无法得出任何结论。 首先是一个我正在讨厌的设计的例子。 @BusinessObject public class ClassA { @Column(name = “ID”, nullable = false) private Long id; @OneToMany(mappedBy = “classAAttr”) private Collection classABCollection; //STUFF AND OTHER COLUMNS….. } public class ClassAB { @Column(name = “ID”, nullable = false) private Long id; @JoinColumn(name = “TABLE_A_ID”, referencedColumnName = “ID”) @ManyToOne private ClassA classAAttr; @JoinColumn(name = “TABLE_B_ID”, referencedColumnName […]

List中的contains()方法未按预期工作

contains()方法的api说 “如果此列表包含指定的元素,则返回true。更正式地,当且仅当此列表包含至少一个元素e时才返回true(o == null?e == null:o.equals(e))。” 我覆盖了我的类中的equals()方法,但是当我检查时, contains()仍然返回false 我的代码 class Animal implements Comparable{ int legs; Animal(int legs){this.legs=legs;} public int compareTo(Animal otherAnimal){ return this.legs-otherAnimal.legs; } public String toString(){return this.getClass().getName();} public boolean equals(Animal otherAnimal){ return (this.legs==otherAnimal.legs) && (this.getClass().getName().equals(otherAnimal.getClass().getName())); } public int hashCode(){ byte[] byteVal = this.getClass().getName().getBytes(); int sum=0; for(int i=0, n=byteVal.length; i<n ; i++) sum+=byteVal[i]; sum+=this.legs; return […]

为什么Collections.binarySearch()使用这个可比较的?

我有这个实现Comparable接口的Player类。 然后我有一个Player的ArrayList 。 我正在尝试在Player的列表中使用binarySearch()来查找一个Player ,但是Java给了我一个“ cannot find symbol: method binarySearch(java.util.ArrayList,Player) ”。 这个Player类: class Player implements Comparable { private String username; private String password; Statistics stats; //Constructor, creates a new Player with a supplied username Player(String name) { username = name; password = “”; stats = new Statistics(); } //Accessor method to return the username as […]

Java:不能通用List mylist

另一个例子非常复杂,我根本不理解它,我的问题在某种程度上是类似的,但正如我所说的那样更简单,可能会在更简单的答案中产生 public List myfunction(List mylist){ mylist.add(new Child()) ; //Doesn’t Compile }

你会如何创建一个混合布尔和字符的数组列表?

在使用ArrayList时,我有点新鲜。 我知道如何用字符串创建一个ArrayList,我知道如何用Integers创建一个。 我想知道,我如何创建一个包含两种类型的ArrayList,例如Doubles和Chars(但没有别的)。 这就是我所拥有的, ArrayList DCList = new ArrayList(); 显然它不是有效的Java代码,所以我的问题是,我该如何正确表达它?