迭代器遍历【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. Spring系列18:Resource接口及内置实现

    本文内容 Resource接口的定义 Resource接口的内置实现 ResourceLoader接口 ResourceLoaderAware 接口 Resource接口的定义 Java 的标准 ja ...

  2. web开发 小方法2-字体设置

    font-size 字体大小 直接给  (任意px) 就可以 font-family:"微软雅黑";   这个里面可以给多个用空格区分 按照先后优先级使用 当没有第一个字体的时候会 ...

  3. [LeetCode]1365. 有多少小于当前数字的数字

    给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目. 换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 ...

  4. PyTorch 如何理解张量:一维张量、二维张量、行/列向量、矩阵

    理解张量,并将张量与线性代数的知识连接起来,我认为最重要的是理解 tensor 的两个属性:shape 和 ndim . ndim 表示张量的维度,一维张量的 ndim 值为 1,二维张量的 ndim ...

  5. Tableau学习Step6一如何制作炫彩地图

    Tableau学习Step6一如何制作炫彩地图 本文首发于博客冰山一树Sankey,去博客浏览效果更好. 一.统计地图概述 1.1 统计地图的基本概念 统计地图的本质:数据的正确对应 将数据信息和地理 ...

  6. TCP的粘包、拆包及解决方法

    TCP粘包,拆包及解决方法 粘包拆包问题是处于网络比较底层的问题,在数据链路层.网络层以及传输层都有可能发生.我们日常的网络应用开发大都在传输层进行,由于UDP有消息保护边界,不会发生粘包拆包问题,因 ...

  7. Python:pyglet学习(2)图形的旋转&batch

    这次讲讲图形的旋转和批量渲染(rotate.batch) 1:图形旋转 先看看上次的代码中的一段: glRotatef(rot_y, 0, 1, 0) glRotatef(rot_z,0,0,1) g ...

  8. laravel7 搜索之when()函数实现搜索

    当做搜索功能时,我们经常会遇到这样的情况,需要判断搜索词是否为空,为空则不执行模糊查询条件,反之需要执行模糊查询条件.这样很繁琐,其实laravel给我们提供了一个友好的函数,辅助我们很快完成这样任务 ...

  9. tp5(laravel7) ajax模型修改数据

    ① 设置ajax请求(10分) ② 后台更改数据值(10分) ③ 重新计算平均分(10分) ④ 无刷新更新评分结果(10分) 思路: 在详情页面中有一个评分的按钮,单击后进行修改数据,首先找见本条数据 ...

  10. js格式化树形数据(扁平化数据)

    需求: 1.把如下数据按照parent_id等于id的规则建立父子关系 2.同一层级的数组按照order升序 [ { "id": 1, "name": &quo ...