Java为每个循环访问索引
我已经读过了Java为每个循环访问索引,java,loops,foreach,indexing,Java,Loops,Foreach,Indexing,我已经读过了 for (int i1 : A) { } 比 for (int i1=0; i1 < A.length; i++) { } for(inti1=0;i1A的大小 在正常情况下,两者都可以工作,选择什么通常取决于您可以使用哪个API进行循环 在本例中,第一个代码在HashMap上工作,或者不填充数组。 假设你有这个数据结构 A = [1,2,3,NULL,NULL,4,NULL,5] 在第一种情况下,只能循环现有值。 但在最后一种情况下,您
for (int i1 : A) {
}
比
for (int i1=0; i1 < A.length; i++) {
}
for(inti1=0;i1
但是,如果我想访问第一个索引中的索引值,是否有任何平均值,或者我应该只使用第二个。不,没有。您只需要声明一个变量。在这种情况下,最好使用传统的方法。使用此方法或最好使用第二种方法
int count = 0;
for (int i1 : A) {
print count;
count ++;
}
没有办法,如上所述,再看看这个类似的问题你必须使用第二个问题。您的另一个选择是使用收藏列表作为
List List=Arrays.asList(inta[]);
list.get(int索引)代码>您的第一个代码是,遍历集合A中的所有项目/对象,
但是最后一个代码表示要通过索引从0到n,n=>A的大小
在正常情况下,两者都可以工作,选择什么通常取决于您可以使用哪个API进行循环
在本例中,第一个代码在HashMap上工作,或者不填充数组。
假设你有这个数据结构
A = [1,2,3,NULL,NULL,4,NULL,5]
在第一种情况下,只能循环现有值。
但在最后一种情况下,您必须遍历所有元素
另外,一个无序或定义良好的数据结构(如Maps)可以有一个方法来保证您可以遍历所有元素,但不能按照定义良好的顺序进行操作。Wikipedia声明:
foreach循环通常不维护显式计数器:它们本质上说“对集合中的所有对象执行此操作”,而不是“执行x次”。这避免了潜在的逐个错误,并使代码更易于阅读
如果您想使用索引,最好使用后一个版本
如果我想访问第一个索引中的索引值,是否有任何平均值
是的,你可以
int index = 0;
for (int i1 : A)
{
// Your logic
// index++;
}
但同样,不推荐。如果您需要索引,请重新考虑您的逻辑
Java建议启用增强的for循环:(参见第页的最后一行)不,您不能。for each被认为更好(引用您的问题),因为它没有count变量。这意味着从程序员的角度来看,出错的地方更少。取回数据不是由程序员自己决定的。Java用for-each为您实现了这一点
每当我不需要计数器变量时,我倾向于使用for-each。如果我需要计数,那么我必须使用旧样式的for循环