LinkedList倒序遍历

public List<Integer> getNewsFeed(int userId) {
List<Integer> res = new ArrayList<>(); ListIterator<Map.Entry<Integer, Integer>> iter = new ArrayList<Map.Entry<Integer, Integer>>(tuiwen.entrySet()).listIterator(tuiwen.size());
HashSet<Integer> myFollowee = follow.get(userId); while(iter.hasPrevious()) {
Map.Entry<Integer, Integer> entry = iter.previous();
if(entry.getValue() == userId || (myFollowee != null && myFollowee.contains(entry.getValue()))) {
res.add(entry.getKey());
if (res.size() == 10) break;
} } return res;
}
public class Traverse {

    public static void main(String[] args) {

        //循环list
List<Integer> dataList = new ArrayList<>();
dataList.add(1);
dataList.add(2);
dataList.add(4);
dataList.add(3);
System.out.println(dataList); //方式一: foreach
for(Integer data: dataList) {
System.out.print(data + " ");
}
System.out.println(); //方式二,for 下标
for(int i = 0; i < dataList.size(); i ++) {
System.out.print(dataList.get(i) + " ");
}
System.out.println(); //方式三:迭代器
Iterator<Integer> listIter = dataList.iterator();
while(listIter.hasNext()) {
Integer data = listIter.next();
System.out.print(data + " ");
}
System.out.println(); //循环set
HashSet<Integer> dataSet = new HashSet<>();
dataSet.addAll(dataList);
System.out.println(dataSet); //方式一:foreach
for(Integer data: dataSet) {
System.out.print(data + " ");
}
System.out.println(); //方式二:迭代器
Iterator<Integer> setIter = dataSet.iterator();
while(setIter.hasNext()) {
System.out.print(setIter.next() + " ");
}
System.out.println(); //循环映射
HashMap<Integer, Integer> dataMap = new HashMap<>();
dataMap.put(1,1);
dataMap.put(2,2);
dataMap.put(3,4); //方法一:迭代器
Iterator<Map.Entry<Integer, Integer>> entryIter = dataMap.entrySet().iterator();
while(entryIter.hasNext()) {
Map.Entry<Integer, Integer> entry = entryIter.next();
System.out.println(entry.getKey() + " " + entry.getValue());
} //方法一:倒序迭代器
ListIterator<Map.Entry<Integer, Integer>> reEntryIter = new ArrayList<Map.Entry<Integer, Integer>>(dataMap.entrySet()).listIterator(dataMap.size());
while(reEntryIter.hasPrevious()) {
Map.Entry<Integer, Integer> entry = reEntryIter.previous();
System.out.println(entry.getKey() + " " + entry.getValue());
} //方法二:foreach
for(Map.Entry<Integer, Integer> entry: dataMap.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
} }
}

java 遍历的更多相关文章

  1. java 遍历map 方法 集合 五种的方法

    package com.jackey.topic; import java.util.ArrayList;import java.util.HashMap;import java.util.Itera ...

  2. java 遍历文件夹里的文件

    Java遍历文件夹的2种方法: A.不使用递归: import java.io.File; import java.util.LinkedList; public class FileSystem { ...

  3. JAVA 遍历文件夹下的所有文件

    JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...

  4. java遍历树(深度遍历和广度遍历

    java遍历树如现有以下一颗树:A     B          B1               B11          B2               B22     C          C ...

  5. java遍历Hashmap/Hashtable的几种方法

    一>java遍历Hashtabe: import java.util.Hashtable; import java.util.Set; public class HashTableTest { ...

  6. JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)

    JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...

  7. java 遍历List 和 Map的几种方法

    java遍历List 1.(性能最差) for(String tmp:list) { //System.out.println(tmp); } 2.(性能最好) for(int i = 0; i &l ...

  8. java 遍历Map的四种方式

      java 遍历Map的四种方式 CreationTime--2018年7月16日16点15分 Author:Marydon 一.迭代key&value 第一种方式:迭代entrySet 1 ...

  9. Java 遍历指定文件夹及子文件夹下的文件

    Java 遍历指定文件夹及子文件夹下的文件 /** * 遍历指定文件夹及子文件夹下的文件 * * @author testcs_dn * @date 2014年12月12日下午2:33:49 * @p ...

  10. Java遍历Map键、值。获取Map大小的方法

    Map读取键值对,Java遍历Map的两种实现方法 第一种方法是根据map的keyset()方法来获取key的set集合,然后遍历map取得value的值 import java.util.HashM ...

随机推荐

  1. Linux 后台运行python .sh等程序,以及查看和关闭后台运行程序操作

    1.运行.sh文件 直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令. (1)&命令 功能:加在一个命令的最后,可以把这 ...

  2. git撤销修改及版本回退

    场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file. 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步, ...

  3. mybatis-plus分页查询

    在springboot中整合mybatis-plus 按照官方文档进行的配置:快速开始|mybatis-plus 引入依赖: <!-- 引入mybatisPlus --> <depe ...

  4. <剑指offer>面试题

    题目1:二维数组的查找 题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断 ...

  5. java笔试之提取不重复的整数

    输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 此题可以使用linkedHashedSet\ArrayList\Stack\数组等来做.类似题目是输入一个数/字符串,从 ...

  6. Foundation框架系列-NSArray

    NSArray常用API 数组字符串指定字符拼接 // 将数组中的元素以separator拼接返回字符串 比如@[@"a=1", @"b=2"] 以separa ...

  7. Python全栈开发:Mysql(二)

    视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT *FROM (SELEC ...

  8. 一个简单的SpringBoot入门程序

    1. 使用IDEA构建Maven项目 <?xml version="1.0" encoding="UTF-8"?> <project xmln ...

  9. 深入理解Java虚拟机(自动内存管理机制)

    文章首发于公众号:BaronTalk 书籍真的是常读常新,古人说「书读百遍其义自见」还是很有道理的.周志明老师的这本<深入理解 Java 虚拟机>我细读了不下三遍,每一次阅读都有新的收获, ...

  10. 阿里云MaxCompute 2019-8月刊

    您好,MaxCompute 2019.8月刊为您带来8月产品.技术最新动态,欢迎阅读. 导读 [重要发布]8月产品重要发布 [文档更新]8月重要文档更新推荐 [干货精选]8月精选技术文章推荐 [精彩活 ...