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

java遍历set

发布时间:2024-10-22 22:06:35

1. java的集合类型有哪些

Java集合类型主要有3种:set(集)、list(列表)和map(映射)。

Collection、Set和List的区别如下:
Collection对象之间没有指定的顺序,允许有重复元素和多个null元素对象;它是Set和List接口的父类,是一种最通用型的集合接口;

Set各个元素对象之间没有指定的顺序,不允许有重复元素,最多允许有一个null元素对象;
List各个元素对象之间有指定的顺序,允许重复元素和多个null元素对象;

2. 如何将JAVA的SET集合中的数据直接存储到数据库中

循环遍历set的元素,通过java.sql.PreparedStatement的setObject方法将set的元素按顺序放入预编译的参数化SQL中

3. 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
}
........
}

4. 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会丢失数据,重复数据会丢失。

5. 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);//错误!
}

阅读全文

与java遍历set相关的资料

热点内容
源码中的工厂模式 浏览:705
为什么燕窝溯源码可以更改经销商 浏览:949
和服务器连接的交换机叫什么 浏览:773
苹果手机如何设置服务器 浏览:934
迅雷下载游戏需要解压 浏览:853
3d平滑命令 浏览:41
必须去车管所解压 浏览:387
室友命令我 浏览:311
lol全部命令 浏览:40
用什么APP查指数 浏览:921
什么是作品源码 浏览:671
我的理想程序员该怎么写 浏览:842
英译中国现代散文选pdf 浏览:448
装饰设计模式java 浏览:23
linuxshell清屏命令 浏览:136
惠利app是什么 浏览:779
游戏端口读取服务器失败怎么弄 浏览:878
linux修复mbr 浏览:128
磁盘格式化基本命令 浏览:578
程序员掉入异世界 浏览:954