java 语言里 遍历 collection 的方式 是怎样?
通常:for(Iteratori=c.iterator();i.hasNext();)i.next().cancel();简写:for(Tt:c)t.cancel();问...
通常: for (Iterator i = c.iterator(); i.hasNext(); ) i.next().cancel();
简写: for ( T t : c) t.cancel();
问题是 简写 的 for each里面 如何获得 迭代器(Iterator)
当我 : for( Iteratori=c.iterator;i.hasNext();)
我可以获得 当前的 迭代器,于是我可以对 被遍历的 集合(collection) 执行一些操作,比如:增减其中元素:i.remove();
当我 : for( T t :c)
在这种情况下 能获得当前的 迭代器么?如果不能,我如何对 被迭代的集合(c) 执行一些操作呢?
关键字'this' 指向当前 迭代器么(Iterator)
for( T t :c) this.remove();-------------这样合法么? 展开
简写: for ( T t : c) t.cancel();
问题是 简写 的 for each里面 如何获得 迭代器(Iterator)
当我 : for( Iteratori=c.iterator;i.hasNext();)
我可以获得 当前的 迭代器,于是我可以对 被遍历的 集合(collection) 执行一些操作,比如:增减其中元素:i.remove();
当我 : for( T t :c)
在这种情况下 能获得当前的 迭代器么?如果不能,我如何对 被迭代的集合(c) 执行一些操作呢?
关键字'this' 指向当前 迭代器么(Iterator)
for( T t :c) this.remove();-------------这样合法么? 展开
展开全部
java 语言里 遍历 collection 的方式:
方法一:使用迭代器进行遍历
Collection<String> c = new HashSet<String>();
c.add("java");
c.add("cpp");
c.add("php");
c.add("c#");
c.add("objective-c");
Iterator<String> it = c.iterator();
while (it.hasNext()) {
String str = it.next();
System.out.println(str);
}
方法二:使用for进行遍历
Collection<String> c = new HashSet<String>();
c.add("java");
c.add("cpp");
c.add("php");
c.add("c#");
c.add("objective-c");
for (String str : c) {
System.out.print(str.toUpperCase() + " ");
}
展开全部
我来简单说一下吧,一般有2种方法来遍历collection中的元素,以HashSet为例子
HashSet hs=new HashSet();
hs.add("hello");
hs.add("java");
hs.add(5);
这样一个HashSet你可以用2中方法进行遍历
1种方法:迭代器
Iterator it=hs.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
这里it.next()方法返回一个Object对象,就是你添加到HashSet中的元素.你可以调用it.remove();删除这个元素
2种方法是用一个for-each循环
for (Object o:hs){
System.out.println(o);
}
这里的o会依次得到hs中的元素
这2种方法都可以用,但是如果你想删除HashSet中的元素,你只能用迭代器
HashSet hs=new HashSet();
hs.add("hello");
hs.add("java");
hs.add(5);
这样一个HashSet你可以用2中方法进行遍历
1种方法:迭代器
Iterator it=hs.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
这里it.next()方法返回一个Object对象,就是你添加到HashSet中的元素.你可以调用it.remove();删除这个元素
2种方法是用一个for-each循环
for (Object o:hs){
System.out.println(o);
}
这里的o会依次得到hs中的元素
这2种方法都可以用,但是如果你想删除HashSet中的元素,你只能用迭代器
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询