导航:首页 > 编程语言 > 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相关的资料

热点内容
javatomcat图片 浏览:415
程序员生产智能创意 浏览:65
汇和银行app怎么登录 浏览:381
腾讯服务器如何上传源码 浏览:739
单片机的原理概述 浏览:508
火控pdf 浏览:267
如何复制云服务器centos环境 浏览:984
债权pdf 浏览:301
红色番字的app怎么下载 浏览:876
云服务器流程教课 浏览:702
中国农业银行app怎么没有网 浏览:997
几率表算法 浏览:902
程序员理工科 浏览:708
企业邮箱登录收件服务器地址 浏览:558
计算机思维与算法设计的重要性 浏览:664
linux刷新磁盘命令 浏览:76
我的世界如何查看服务器种子pc 浏览:284
linuxlamp编译安装 浏览:609
枚举算法ppt 浏览:184
cmd查看进程命令 浏览:956