Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 如何避免在列表迭代中使用get(0)_Java_List_Data Structures_Iterator_Iteration - Fatal编程技术网

Java 如何避免在列表迭代中使用get(0)

Java 如何避免在列表迭代中使用get(0),java,list,data-structures,iterator,iteration,Java,List,Data Structures,Iterator,Iteration,有什么方法可以避免在列表迭代中使用get(0) 在迭代列表时使用get(0)总是有风险的 我确信在这个列表中我只有一个对象 (P.S.我记得我的上一位经理总是对我说,避免使用 GET(0)< /代码>在列表迭代中。 < P>,你不清楚你所说的“危险”是什么意思,但你可以考虑使用番石榴: List foo=getListFromSomewhere(); 字符串条=Iterables.getOnlyElement(foo); 这清楚地表明,您希望有一个且只有一个元素。如果您认为可能没有元素,可以使

有什么方法可以避免在列表迭代中使用
get(0)

在迭代列表时使用
get(0)
总是有风险的

我确信在这个列表中我只有一个对象


(P.S.我记得我的上一位经理总是对我说,避免使用<代码> GET(0)< /代码>在列表迭代中。

< P>,你不清楚你所说的“危险”是什么意思,但你可以考虑使用番石榴:

List foo=getListFromSomewhere();
字符串条=Iterables.getOnlyElement(foo);
这清楚地表明,您希望有一个且只有一个元素。如果您认为可能没有元素,可以使用重载来指定默认值


这样,当您请求元素时,您的期望会得到检查。。。但不清楚你还想要什么。(你还记得你的上一位经理警告过你这一点吗?但你还记得他为什么警告你吗?

编辑:我误解了这个问题,没有意识到列表中只有一项。虽然我的选择仍然有效,但它们并不是真正必要的。但是,如果您的前提条件是有一个包含单个元素的列表,那么我怀疑使用
get(0)
的危险性

您有几个选择:

首先,简单地让循环使用for-each循环为您获取对象

 for(Object thing : things)
第二,将列表转换为另一种形式,并以适当的方式访问它:

Object[] thingArray = things.toArray();
for(int i = 0; i < thingArray.length; i++)
Object[]thingArray=things.toArray();
for(int i=0;i
第三是使用

ListIterator thingIterator=things.ListIterator();
while(thingIterator.hasNext())
{
Object thing=thingIterator.next();
Q:你知道这位经理为什么告诉你“避免使用get(0)”吗?
Object[] thingArray = things.toArray();
for(int i = 0; i < thingArray.length; i++)
ListIterator<Object> thingIterator = things.listIterator();
while(thingIterator.hasNext())
{
    Object thing = thingIterator.next();
Object objOne = list.iterator().next();