迭代器遍历【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. 『无为则无心』Python面向对象 — 45、面向对象编程

    目录 1.面向对象编程的概念 2.面向对象编程和面向过程编程的区别 (1)面向过程编程 (2)面向对象编程 3.举例理解面向对象 4.Python的面向对象编程 5.面向对象的几大核心特性 1.面向对 ...

  2. k8s容器拷贝文件到本地、本地文件拷贝到k8s容器

    k8s容器拷贝文件到本地 kubectl cp qzcsbj/order-b477c8947-tr8rz:/tmp/jstack.txt /root/test/jstack.txt 本地文件拷贝到k8 ...

  3. WEB服务蜜罐部署实验

    实验目的 了解WEB蜜罐的基本原理,掌握Trap Server的使用. 实验原理 Trap Server是一款WEB服务器蜜罐软件,它可以模拟很多不同的服务器,例如Apache. HTTP Serve ...

  4. 把SQLAlchemy查询对象转换成字典

    1-假设查出来的为单个对象 1-1 在model.py中为模型对象添加字典转换函数: from exts import db class User(db.Model): __tablename__ = ...

  5. 无法打开备份设备,出现操作系统错误 5(拒绝访问)(sql server备份)

    问题:无法打开备份设备 .出现操作系统错误 5(拒绝访问) 原因:你用sqlserver进行备份的时候,必须要是完整的路径,操作sqlserver的和磁盘有关的路径都必须要到文件名这一层. 解决方案: ...

  6. oj教程--深度优先DFS

    深度优先搜索算法(英语:Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法.

  7. 安装java环境与eclipse

    一.今天安装了java环境和eclipse 二.大道至简学了前三章(前两章)问题不大还好理解 第三章有些东西很懵 1.进入网址www.oracle.com,点击resource(资源) 点击softw ...

  8. C# Stopwatch计时统计

    using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...

  9. JZ-024-二叉树中和为某一值的路径

    二叉树中和为某一值的路径 题目描述 输入一颗二叉树的根节点和一个整数,按字典序打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径. 题目链 ...

  10. LeetCode-038-外观数列

    外观数列 题目描述:给定一个正整数 n ,输出外观数列的第 n 项. 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述. 你可以将其视作是由递归公式定义的数字字符串序列: ...