导航:首页 > 编程语言 > javafor遍历set

javafor遍历set

发布时间:2022-10-01 11:35:29

1. 在java中,新循环,也就是增强for循环怎么用是什么格式

for(String str : set) { System.out.println(str); }for里面对一个参数是要遍历集合中元素的类型,第二个表示集合中的元素,第三个是集合。增强for循环的方法:

1、创建一个整型数组,我们就是要遍历它。

5、这就完成了遍历数组的操作。

2. java中HashSet怎样遍历取出里面的值给个例子~~

HashSet<String> set=new HashSet<String>();
set.add("1");
set.add("2");
set.add("3");
Iterator<String> iterator=set.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
控制台输出:
3
2
1
对于集合这块的类都可以这样写的,比如你把第一行换成:
ArrayList<String> set=new ArrayList<String>();
后面的程序不动,一样可以遍历输出的。
不太懂的话可以网络Iterator的用法和原理

3. Java中Set集合怎样用for遍历

增强型的for循环 和普通for循环一样
增强型的for循环 优点主要体现在集合中,随便举个例子
比如对 set 的遍历
一般是迭代遍历:
Set<String> set = new HashSet<String>();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String str = it.next();
System.out.println(str);
}
for循环遍历:
for (String str : set) {
System.out.println(str);
}
是不是简单些?

优点还体现在泛型 假如 set中存放的是Object

Set<Object> set = new HashSet<Object>();
for循环遍历:
for (Object obj: set) {
if(obj instanceof Integer){
int aa= (Integer)obj;
}else if(obj instanceof String){
String aa = (String)obj
}
........
}

唯一的缺点就是 在遍历 集合过程中,不能对集合本身进行操作
for (String str : set) {
set.remove(str);//错误!
}

4. Java中Set集合怎样用for遍历


//集合,基本都用iterator遍历。
//假设有个treeSet
TreeSetts=newTreeSet();
ts.add("dd");
Iteratorit=ts.iterator();
while(it.hasNext()){
System.out.print(it.next());
}

5. java里set list 为什么能遍历集合

list和set集合是java中最常见的两种数据结构,都是Collection的子集,今天就简单的说说他们两者的遍历以及相互转化吧。

一、list的遍历

有三种遍历方法:
/**
* list的三种遍历
* @author Owner
*
*/
public class ListTest {

public static void main(String[] args) {

List<String> list = new ArrayList<String>();

list.add("a");
list.add("b");
list.add("c");
list.add("c");//可添加重复数据

//遍历方法一 迭代器
for(Iterator<String> iterator = list.iterator();iterator.hasNext();){
String value = iterator.next();

System.out.println(value);
}

//遍历方法二 超级for循环
for(String value : list){
System.out.println(value);
}

//遍历方法三
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}

}
}

分析一下这三种遍历吧,第一种迭代器的遍历,执行过程中会进行数据锁定,性能上是安全的,效率较低;
第二种,是java新语法,增强型for循环,其中内部也是调用了迭代器;
第三种,直接使用取数组的方式,效率最快,但会有多线程安全问题。
原理如下:
ArrayList底层是采用数组来保存数据的,对于访问数组里的数据来说,直接采用数组索引当然是最快的了,相当于直接从内存读取数据,其他的两种迭代方式,实际上都是一种,即iterator,foreach包装了一下;iterator遍历最终还是要通过索引来访问数据,源码中对应的get方法了。

Set的遍历和List类似,由于set没有get方法,所有第三种是不可以的;
总结:综合考虑使用第二种,增强型for循环就可以

二、List和Set相互转化:
这个需求一般也不多,直接上代码吧:
/**
* List和Set的转化(Set转化成List)
*/
public static <T> List<T> SetToList(Set<T> set) {
List<T> list = new ArrayList<>();
list.addAll(set);
return list;
}
使用泛型实现。不过值得注意的是,list转化成set会丢失数据,重复数据会丢失。

6. java 关于set集合遍历的问题。我打印不出学生信息怎么办

set集合遍历打印不出学生信息,说明方法错误。
正确对 set 遍历,即可实现打印,具体方法如下:
1、迭代遍历:
Set<String> set = new HashSet<String>();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String str = it.next();
System.out.println(str);
}

2、for循环遍历:
for (String str : set) {
System.out.println(str);
}

优点还体现在泛型 假如 set中存放的是Object 。

Set<Object> set = new HashSet<Object>();
for循环遍历:
for (Object obj: set) {
if(obj instanceof Integer){
int aa= (Integer)obj;
}else if(obj instanceof String){
String aa = (String)obj
}
........
}

7. java中遍历SET

for(Object jie :set) {
Jie j = (Jie)jie;
}
或者
Set<Jie> set = qu.getJies();
同时qu里的getJies也要加上泛型限制。

Set并不知道里面装的是不是Jie类型,只会当成Object,你不能什么都不处理就直接用Jie类型去遍历

8. Java的for循环、增强for循环、lambda表达式中的forEach 三种方式优缺点比较

个人理解不喜勿喷。
简单的来说其实三种并没有什么太大的区别,一般情况下的性能也差不多。
for循环:
优点:可以直接获取下标,能更精确的定位。下标变量属于循环内变量,循环结束会自动回收。下标变量的步长可以自定,比较灵活。
缺点:需要根据下标才会获取循环内容。只能循环有序集合和数组,如Set和Map就无法遍历。

增强for:
优点:循环直接进行赋值,直接得到循环对象,不需要通过下标获取。可以遍历所有集合类型和数组。

缺点:循环有序集合时无法定位下标,需要在循环外层定义下标。无法遍历Map类型。

lambda:
优点:可以对所有集合类型和Map进行循环,特别是支持对Map进行循环,循环也是直接进行赋值,直接得到循环对象。

缺点:循环有序集合时无法定位下标,无法遍历数组,因为理论上来说他是属于迭代器的一种。同时因为循环体属于一个封闭范围的线程,在循环体内使用部分循环体外的变量需要加final关键字,很不方便。
另外说到了迭代器,可以参考lambda,不过写法就没lmbda那么方便了,不过迭代器有很多功能是循环比不上的,可以去看看。

阅读全文

与javafor遍历set相关的资料

热点内容
c语言编译之后如何运行 浏览:566
mfc多线程编程视频 浏览:410
c编译的中文怎么写 浏览:91
单片机连接蜂鸣器电路 浏览:844
程序员买房前后对比照 浏览:988
cmdjava中文乱码 浏览:947
窗口app哪个好 浏览:731
xzforandroid 浏览:577
程序员那么可爱歌曲完整版 浏览:906
为什么购买pdf 浏览:45
操作系统代码编译 浏览:483
程序员东北大学 浏览:426
编译忽略空字符 浏览:117
多店铺阿里云服务器教程 浏览:378
单片机求初值 浏览:420
安卓机如何在电脑备份图片 浏览:925
ca证书加密机价格 浏览:798
天干地支年份算法 浏览:797
程序员打造的视频 浏览:7
java和php通信 浏览:681