Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从集合中获取元素?_Java_Set - Fatal编程技术网

Java 如何从集合中获取元素?

Java 如何从集合中获取元素?,java,set,Java,Set,我的Java程序中有一个集合,它保证是非空的。我想从这个集合中检索一个整数。我不在乎哪个整数,我只需要从集合中确定地或不确定地选择某个整数,只要它在集合中。最好的方法是什么?为什么不直接使用第一个元素 return set.iterator().next(); int elem() { return set.toArray()[0]; } 如果保证它是非空的,并且您不关心检索哪个元素,那么这听起来很简单。为什么不直接获取第一个元素呢 return set.iterator().ne

我的Java程序中有一个
集合
,它保证是非空的。我想从这个集合中检索一个整数。我不在乎哪个整数,我只需要从集合中确定地或不确定地选择某个整数,只要它在集合中。最好的方法是什么?

为什么不直接使用第一个元素

return set.iterator().next();
int elem() {
    return set.toArray()[0]; 
}

如果保证它是非空的,并且您不关心检索哪个元素,那么这听起来很简单。

为什么不直接获取第一个元素呢

return set.iterator().next();
int elem() {
    return set.toArray()[0]; 
}

如果保证它是非空的,并且您不关心检索哪个元素,那么这听起来很简单。

有几种方法。一是打电话。然后在上调用
next()


或者,您可以从该数组中调用一个元素(由其大小绑定)。

有几种方法。一是打电话。然后在上调用
next()


或者,您可以从该数组中调用一个元素(由其大小绑定)。

您只需获取第一个元素

return set.iterator().next();
int elem() {
    return set.toArray()[0]; 
}

你可以简单地取第一个元素

return set.iterator().next();
int elem() {
    return set.toArray()[0]; 
}
private Integer getIntegerFromSet(Set){
整数integerToReturn=null;
if(set!=null&&!set.isEmpty()){
用于(对象o:集){
if(o整数的实例){
integerToReturn=(整数)o;
打破
}
}
}
返回整数返回;
}
我总是检查空值,即使我“保证”得到的是一个非空的实例化对象。此方法将接受
集的任何实现,对其进行迭代,并检查是否第一次出现任何整数对象。

私有整数getIntegerFromSet(Set-Set){
整数integerToReturn=null;
if(set!=null&&!set.isEmpty()){
用于(对象o:集){
if(o整数的实例){
integerToReturn=(整数)o;
打破
}
}
}
返回整数返回;
}

我总是检查空值,即使我“保证”得到的是一个非空的实例化对象。此方法将接受
集合的任何实现,对其进行迭代,并检查是否首次出现任何整数对象。

迭代集合,直到找到整数,就是这样。我将使用
Set#size
获取一个随机数,然后使用增强的
for
循环在
Set
中导航,直到达到之前计算的随机数,并从
集中返回该元素。这不是一个好的解决方案,但可以。它是什么类型的集合(实现)?HashSet、TreeSet等…如何定义“最佳方式”?我通过使用set接口保持集合实现的灵活性,而不是使用特定实现键入变量,但实际上,这将是一个HashSet。我将最佳方法定义为最优雅的解决方案。迭代集合,直到找到一个整数,就是这样。我将使用
set#size
获得一个随机数,然后使用增强的
for
循环在
集合
中导航,直到达到之前计算的随机数,并从
集合
返回该元素。这不是一个好的解决方案,但可以。它是什么类型的集合(实现)?HashSet、TreeSet等…如何定义“最佳方式”?我通过使用set接口保持集合实现的灵活性,而不是使用特定实现键入变量,但实际上,这将是一个HashSet。我将最佳方式定义为最优雅的解决方案。是的,完美。我会尽快接受你的回答。这是我愚蠢问题的优雅解决方案;关于(IMO)要求,这是最好的solution@BigEndian虽然这种方法符合您的要求,但我认真地认为您需要解释为什么从
集合
中检索一个元素是好的,如果通过多次调用它应该是同一个元素,这是因为:为什么一开始就把数据保存在
集合中呢?哈哈,我有一个很好的理由想这么做。整数集表示确定性有限自动机中的等价状态(整数)。我正在写一个最小化未优化自动机的方法。在这个过程接近尾声时,我有一个集合,集合中的每个集合代表优化自动机中的一个状态。我需要从这个集合中的一个状态中获取状态转换信息,因为状态是等价的,所以不管是哪一个。@BigEndian看起来你真正的问题是解决方案的设计,从
集合中检索元素只是一个小技巧…是的,很完美。我会尽快接受你的回答。这是我愚蠢问题的优雅解决方案;关于(IMO)要求,这是最好的solution@BigEndian虽然这种方法符合您的要求,但我认真地认为您需要解释为什么从
集合
中检索一个元素是好的,如果通过多次调用它应该是同一个元素,这是因为:为什么一开始就把数据保存在
集合中呢?哈哈,我有一个很好的理由想这么做。整数集表示确定性有限自动机中的等价状态(整数)。我正在写一个最小化未优化自动机的方法。在这个过程接近尾声时,我有一个集合,集合中的每个集合代表优化自动机中的一个状态。我需要从这个集合中的一个状态获取状态转换信息,因为这些状态是等价的,不管是哪一个。@BigEndian看起来你真正的问题是解决方案的设计,从
集合
中检索一个元素只是一个小技巧……当你可以使用第一个元素时,为什么要将它转换为数组