迭代器遍历【List、Set、Map】

遍历List方法一:普通for循环


1 for(int i=0;i<list.size();i++){//list为集合的对象名
2 String temp = (String)list.get(i);
3 System.out.println(temp);
4 }

遍历List方法二:增强for循环(使用泛型!)


1 for (String temp : list) {
2 System.out.println(temp);
3 }

遍历List方法三:使用Iterator迭代器(1)


1 for(Iterator iter= list.iterator();iter.hasNext();){

2    String temp = (String)iter.next();

3    System.out.println(temp);

4 }

遍历List方法四:使用Iterator迭代器(2)

 

1 Iterator  iter =list.iterator();

2 while(iter.hasNext()){

3   Object  obj =  iter.next();

4   iter.remove();//如果要遍历时,删除集合中的元素,建议使用这种方式!

5   System.out.println(obj);

6 }

 

遍历Set方法一:增强for循环


1 for(String temp:set){
2 System.out.println(temp);
3 }

遍历Set方法二:使用Iterator迭代器


1 for(Iterator iter = set.iterator();iter.hasNext();){
2 String temp = (String)iter.next();
3 System.out.println(temp);
4 }

遍历Map方法一:根据key获取value

 

1 Map<Integer, Man> maps = new HashMap<Integer, Man>();

2 Set<Integer>  keySet =  maps.keySet();

3 for(Integer id : keySet){

4     System.out.println(maps.get(id).name);

5 }

 

遍历Map方法二:使用entrySet


1 Set<Entry<Integer, Man>>  ss = maps.entrySet();

2 for (Iterator iterator = ss.iterator(); iterator.hasNext();) {

3     Entry e = (Entry) iterator.next();
4     System.out.println(e.getKey()+"--"+e.getValue());
 

Collections工具类 (collection是接口,collections是工具类)
[java.util.Collections 提供了对Set、List、Map进行排序、填充、查找元素的辅助方法]
创建模板进行测试:

 

1 List<String> list = new ArrayList<>();
2 for (int i = 0; i < 4; i++) {
3 list.add(i + "小喜庆");
4 }
5 System.out.println("正常遍历:" + list);  

1. void sort(List) //对List容器内的元素排序,排序的规则是按照升序进行排序。


1 // 递增的方式遍历[自定义类使用comparable接口进行排序]
2 Collections.sort(list);
3 System.out.println("递增遍历:" + list);

2. void shuffle(List) //对List容器内的元素进行随机排列。


1 // 随机排序list中的元素
2 Collections.shuffle(list);
3 System.out.println("随机遍历:" + list);

3. void reverse(List) //对List容器内的元素进行逆续排列 。


1 // 逆序排序
2 Collections.reverse(list);
3 System.out.println("逆序遍历:" + list);

4. int binarySearch(List, Object)//对于顺序的List容器,采用折半查找的方法查找特定对象。


1 // 二分查找法
2 System.out.println(Collections.binarySearch(list, "小云云"));// 没有查到返回一个负值 -5
3 System.out.println(Collections.binarySearch(list, "2小喜庆"));// 查到返回一个对应的下标 2

5.void fill(List, Object) //用一个特定的对象重写整个List容器。


1 //特定的对象重写整个List容器。
2 Collections.fill(list, "Hello");
3 System.out.println(list);

2.java 数组和string 常用的类

1.字符串转数组

String str="1,2,3"; String [] arr=str.split(","); System.out.println(Arrays.toString(arr));

2.数组转字符串

String[] arr = { "0", "1", "2", "3", "4", "5" };
// 遍历
StringBuffer str5 = new StringBuffer();
for (String s : arr) {
str5.append(s);
}
System.out.println(str5.toString()); // 012345

java中String数组和List的互相转化

1.List转String数组

方法一:

//先准备一个List
List<String> testList=new ArrayList<>();
testList.add("a");
testList.add("b");
testList.add("c");
//List转String
String[] strs1=testList.toArray(new String[testList.size()]);
for(String s:strs1){
System.out.println(s);
}

方法二:

//先准备一个List
List<String> testList=new ArrayList<>();
testList.add("a");
testList.add("b");
testList.add("c");
//List转String
String[] strs2 = new String[testList.size()];
for(int i=0;i<testList.size();i++){
strs2[i]=testList.get(i);
}
for(String s:strs2){
System.out.println(s);
}

二:String数据转List

方法一:

//准备一个String数组
String[] strs = {"aa","bb","cc"};
//String数组转List
List<String> strsToList1= Arrays.asList(strs);
for(String s:strsToList1){
System.out.println(s);
}

方法二:

//准备一个String数组
String[] strs = {"aa","bb","cc"};
//String数组转List
List<String> strsToList2=new ArrayList<>();
Collections.addAll(strsToList2,strs);
for(String s:strsToList2){
System.out.println(s);
}

方法三:

//准备一个String数组
String[] strs = {"aa","bb","cc"};
//String数组转List
List<String> strsToList3=new ArrayList<>();
for(String s:strs){
strsToList3.add(s);
}
for(String s:strsToList3){
System.out.println(s);
}

常用写法java的更多相关文章

  1. mongodb java操作常用写法

    MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成.MongoDB 文档类似于 JSON 对象.字段值可以包含其他文档,数组及文档数组.下面介绍的是用java操作 ...

  2. 【Android】按钮点击事件的常用写法

    学习总结: 最近学习了Android点击事件的常用写法.点击事件会触发监听对象身上的回调,常用写法有以下四种: 方法一:使用匿名内部类. public class MainActivity exten ...

  3. MyBatis 常用写法

    MyBatis 常用写法 1.forEach 循环   forEach 元素的属性主要有 item, idnex, collection, open, separator, close. collec ...

  4. 转--Android按钮单击事件的四种常用写法总结

    这篇文章主要介绍了Android按钮单击事件的四种常用写法总结,比较了常见的四种写法的优劣,有不错的参考借鉴价值,需要的朋友可以参考下     很多学习Android程序设计的人都会发现每个人对代码的 ...

  5. 常用的Java转义字符

    1.常用的Java转义字符 \n :  回车       \t : 水平制表符       \r : 换行       \f : 换页       \' : 单引号      \'' : 双引号   ...

  6. 列出JDK中常用的Java包

    列出JDK中常用的Java包 1.java.lang 2.java.sql 3.java.io 4.java.math 5.java.text 6.java.net 7.java.util 8.jav ...

  7. Hibernate常用的Java数据类型映射到mysql和Oracle

    研究了常用的Java基本数据类型在mysql和oracle数据库的映射类型.这里使用的是包装类型做研究,一般在hibernate声明的时候最好不要用基本类型,因为数据库中的null空数据有可能映射为基 ...

  8. jquery常用写法简单记录

    好久不写东西了......话不多说,主要记录一下,最近做的项目中用到的js的记录(虽然特别特别简单) 一 jquery常用写法记录 jQuery(this).addClass("select ...

  9. 常用/常见Java Web 服务器/应用服务器Logo图文介绍

    常用/常见应用服务器介绍:自己总结.整理一些常见的应用服务器,资料主要来源于网上.     常用Java Web 服务器Java Web应用程序需要部署在Java web服务器中运行,常用的Java ...

随机推荐

  1. vue的父与子组件的访问

    父访问子 (需要掌握) this.$children 和 this.$refs this.$children 返回的是一个数组,包含父组件的所有子组件 this,$refs 返回的是一个对象,默认为空 ...

  2. MySQL高级优化

    MySQL高级 1.索引是什么? (1)索引是排好序可以快速查找的数据结构 (2)方便快速查找,索引实际上也是一张表所以也是要占内存的 2.索引存在哪里? (1)InnoDB引擎 ①索引是和数据存放在 ...

  3. 拒绝for循环,从take_along_axis开始

    技术背景 在前一篇文章中,我们提到了关于Numpy中的各种取index的方法,可以用于取出数组里面的元素,也可以用于做切片,甚至可以用来做排序.但是遇到对于高维矩阵的某一个维度取多个值的时候,单纯的使 ...

  4. 已经安装的nginx增加额外配置步骤

    这里以安装第三方ngx_http_google_filter_module模块为例nginx的模块是需要重新编译nginx,而不是像apache一样配置文件引用.so1. 下载第三方扩展模块ngx_h ...

  5. hydra安装及破解rdp方法

    hydra暴力破解工具 下载:https://github.com/vanhauser-thc/thc-hydra 安装步骤: ./configure make&&make insta ...

  6. [Java]Thinking in Java 练习2.12

    题目 对HelloDate.java的简单注释文档的示例执行javadoc,然后通过Web浏览器查看结果. 代码 1 //: HW/Ex2_2.java 2 import java.util.*; 3 ...

  7. BI开创者Tableau“出走中国”,中国BI用户该何去何从?

    11月,Tableau在发给客户的邮件中透露将停止中国的直销业务,加入阿里的合作体系.消息来的如此突然,Tableau的同仁.合作伙伴.客户.用户.爱好者,甚至友商,无一不感到震惊和担忧. 在我们数据 ...

  8. Oracle建表和SQL语句的增删改

    创建表 --建表语法结构: /* CREATE TABLE 表名( 字段名1 数据类型, 字段名2 数据类型 .... ); */ --建一张老师表,里面包含老师编号,老师姓名,老师联系方式,老师入职 ...

  9. Hive udf 或者 spark maven打包问题

    正常打包maven pom配置如下 <properties> <project.build.sourceEncoding>UTF8</project.build.sour ...

  10. Netty与Spring Boot的整合

    ​ 最近有朋友向我询问一些Netty与SpringBoot整合的相关问题,这里,我就总结了一下基本整合流程,也就是说,这篇文章 ,默认大家是对netty与Spring,SpringMVC的整合是没有什 ...