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. 左神算法进阶班1_1添加最少字符得到原字符N次

    Problem: 给定一个字符串str1,只能往str1的后面添加字符变成str2. 要求1:str2必须包含两个str1,两个str1可以有重合,但是不能以同一个位置开头. 要求2:str2尽量短最 ...

  2. day3:python测试题

    1.Python的怎么单行注释和多行注释: 单行注释:# 多行注释: '''     '''      或者  “”“        ”“”    . 2.布尔值分别是什么 ? True    /Fa ...

  3. springboot整合TinyMCE文件上传回显

    今天想尝试TinyMCE富文本,准备着手搭建自己的博客,发现springboot上传文件,如果把文件放在static文件夹不能即时回显,百度了下,说是要刷新文件夹才能解决. 有问题就有解决办法 方法1 ...

  4. 使用CEfSharp之旅(6)拦截网络请求 截取response返回

    原文:使用CEfSharp之旅(6)拦截网络请求 截取response返回 版权声明:本文为博主原创文章,未经博主允许不得转载.可点击关注博主 ,不明白的进群191065815 我的群里问 https ...

  5. Django static静态配置文件

    对于Django来说静态文件一般交由Web服务器处理,Django本身不处理静态文件.为了使Django开发环境能够处理静态文件,Django有和生产环境不同的静态文件配置方式. Django 版本: ...

  6. 【学术篇】洛谷1550——打井Watering Hole

    题目の传送门:https://www.luogu.org/problem/show?pid=1550 精简版题意(本来就精简了不是么):n个点,每个点可以选择打井或从别的有水的点引水,求所有点都有水用 ...

  7. Jsp Layout 布局页

    本文章仅用于知识记录 /WEB-INF/tags/layout.tag <%@ tag language="java" pageEncoding="UTF-8&qu ...

  8. windows下VisualSVN Server搭建

    转自:https://www.cnblogs.com/shuilangyizu/p/10365604.html 使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和 ...

  9. 转:linux下的c/c++开发

    源地址:http://zhidao.baidu.com/question/131261452.html 我就是做LINUX下的C开发的. 准确的说,LINUX下C才是主要的开发语言,但是写应用程序还是 ...

  10. quatz调度-手动终止线程(2) Cleaner线程做清理工作

    import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; import ja ...