草庐IT

set_relation

全部标签

java - 何时使用 Set vs. Collection?

Set和Collection在Java中是否有任何实际区别,除了Collection可以包含两次相同的元素吗?他们有相同的方法。(例如,Set是否为我提供了更多使用接受Sets但不接受Collections的库的选项?)编辑:我可以想到至少5种不同的情况来判断这个问题。其他人能想出更多吗?我想确保我理解这里的微妙之处。设计一个接受Set或Collection参数的方法。Collection更通用,接受更多的输入可能性。(如果我正在设计一个特定的类或接口(interface),如果我使用Collection,我会对我的消费者更好,对我的子类/实现者更严格。)设计一个返回Set或Colle

java - 为什么 java.util.Set<V> 接口(interface)不提供 get(Object o) 方法?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭3年前。Improvethisquestion我知道根据.equals()任何对象的一个​​实例只允许在Set中,如果您已经有一个等效对象,您不应该“需要”从Set中获取一个对象,但我会仍然喜欢有一个.get()方法,该方法在给定等效对象作为参数的情况下返回Set(或null)中对象的实际实例。关于它为何如此设计的任何想法/理论?我通常必须通过使用Map并使键和值相同或类似的东西来解决这个问题。编辑:我认为到目前为止人们还没有理解我的

java - 为什么 java.util.Set<V> 接口(interface)不提供 get(Object o) 方法?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭3年前。Improvethisquestion我知道根据.equals()任何对象的一个​​实例只允许在Set中,如果您已经有一个等效对象,您不应该“需要”从Set中获取一个对象,但我会仍然喜欢有一个.get()方法,该方法在给定等效对象作为参数的情况下返回Set(或null)中对象的实际实例。关于它为何如此设计的任何想法/理论?我通常必须通过使用Map并使键和值相同或类似的东西来解决这个问题。编辑:我认为到目前为止人们还没有理解我的

java - 如何从 java.util.Set 中获取第一项?

我有一个Set实例:SetsiteIdSet=(Set)pContext.getParent().getPropertyValue(getCatalogProperties().getSitesPropertyName());pContext.getParent().getPropertyValue()是开箱即用的代码,我无法对其进行修改。要求:我想从中取出first默认元素(总是)。但是,我在ArrayList中找不到方法get(index)。因此,现在,我正在这样做。for(Iteratorit=siteIdSet.iterator();it.hasNext();){siteId=

java - 如何从 java.util.Set 中获取第一项?

我有一个Set实例:SetsiteIdSet=(Set)pContext.getParent().getPropertyValue(getCatalogProperties().getSitesPropertyName());pContext.getParent().getPropertyValue()是开箱即用的代码,我无法对其进行修改。要求:我想从中取出first默认元素(总是)。但是,我在ArrayList中找不到方法get(index)。因此,现在,我正在这样做。for(Iteratorit=siteIdSet.iterator();it.hasNext();){siteId=

java - 将 Set<String> 的内容放入单个字符串的最快方法,其中单词用空格分隔?

我有几个Sets并希望将其中的每一个转换为单个String其中每个元素的原始Set由空格“”分隔。一个天真的第一种方法是这样做Setset_1;Setset_2;StringBuilderbuilder=newStringBuilder();for(Stringstr:set_1){builder.append(str).append("");}this.string_1=builder.toString();builder=newStringBuilder();for(Stringstr:set_2){builder.append(str).append("");}this.stri

java - 将 Set<String> 的内容放入单个字符串的最快方法,其中单词用空格分隔?

我有几个Sets并希望将其中的每一个转换为单个String其中每个元素的原始Set由空格“”分隔。一个天真的第一种方法是这样做Setset_1;Setset_2;StringBuilderbuilder=newStringBuilder();for(Stringstr:set_1){builder.append(str).append("");}this.string_1=builder.toString();builder=newStringBuilder();for(Stringstr:set_2){builder.append(str).append("");}this.stri

java - List 和 Set 的性能和内存分配比较

我想知道List和Set在性能、内存分配和可用性方面的比较。如果我不需要保持对象列表中的唯一性,也不需要维护插入顺序,我可以互换使用ArrayList和SortedSet/HashSet吗?直接使用Collections类而不是list/set会更好吗?附:我也不需要列出或设置java提供的特定功能。我使用List/Set而不是Array只是因为它们可以动态增长而无需额外的编程工作。 最佳答案 对于相同数量的元素(尽管它们仍然是线性的),HashSet消耗的内存大约是ArrayList的5.5倍,并且迭代速度明显较慢(尽管使用相同的

java - List 和 Set 的性能和内存分配比较

我想知道List和Set在性能、内存分配和可用性方面的比较。如果我不需要保持对象列表中的唯一性,也不需要维护插入顺序,我可以互换使用ArrayList和SortedSet/HashSet吗?直接使用Collections类而不是list/set会更好吗?附:我也不需要列出或设置java提供的特定功能。我使用List/Set而不是Array只是因为它们可以动态增长而无需额外的编程工作。 最佳答案 对于相同数量的元素(尽管它们仍然是线性的),HashSet消耗的内存大约是ArrayList的5.5倍,并且迭代速度明显较慢(尽管使用相同的

java - 为什么 Java Calendar set(int year, int month, int date) 没有返回正确的日期?

这个问题在这里已经有了答案:WhyisJanuarymonth0inJavaCalendar?(18个回答)关闭3年前.根据文档,日历set()是:http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html#set%28int,%20int,%20int%29set(intyear,intmonth,intdate)SetsthevaluesforthecalendarfieldsYEAR,MONTH,andDAY_OF_MONTH.代码:Calendarc1=GregorianCalendar.getIns