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. CCPC 2019 网络赛 HDU huntian oy (杜教筛)

    1005 huntian oy (HDU 6706) 题意: 令,有T次询问,求 f(n, a, b). 其中 T = 10^4,1 <= n,a,b <= 1e9,保证每次 a,b互质. ...

  2. python-包管理工具-pip

    目录 Python pip pip相关命令 解决pip相关问题 Python pip回到顶部 Python最让人的喜欢的就是它有丰富的类库和各种第三方的包,而对于这些包的下载.删除等管理操作,就要用到 ...

  3. login-Linux必学的60个命令

    1.作用 login的作用是登录系统,它的使用权限是所有用户. 2.格式 login [name][-p ][-h 主机名称] 3.主要参数 -p:通知login保持现在的环境参数. -h:用来向远程 ...

  4. 全网最全乌云drops文章下载(epub)

    前几天搞得epub格式的,为了方便kindle才做的,没想到站关了. 链接: http://pan.baidu.com/s/1eRIoJC2 密码: b6aq

  5. Python全栈开发:Mysql(一)

    一.概述 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access.MS SQL Serve ...

  6. leetcode-80-删除排序数组中的重复项②

    题目描述: 第一次提交: class Solution: def removeDuplicates(self, nums: List[int]) -> int: nums.reverse() f ...

  7. 【JZOJ2679】跨时代

    description 钟逆时针而绕,恶物狰狞的倾巢,我谦卑安静地于城堡下的晚祷,压抑远古流窜的蛮荒暗号,而管风琴键高傲的说,那只是在徒劳.我的乐器在环绕,时代无法淘汰我霸气的皇朝. 你无法预言,因为 ...

  8. 容斥原理——hdu2841

    记得要开ll /* 莫比乌斯反演模板题,也可以直接算phi来做 容斥的解法 求x[1..m],在[1,n]中和其互质的数的个数即可 那么就是n-和x不互质的数个数即可 */ #include<b ...

  9. 在vc2008 mfcC++中使用sqlite的示例

    http://owlman.org/?p=890 在C++中使用sqlite的示例 2011年8月5日admin发表评论阅读评论 最近因为工作原因,终于使我有机会腾出时间来接触了一下SQLite数据库 ...

  10. 为WCF增加UDP绑定(储备篇)

    日前我开发的服装DRP需要用到即时通信方面的技术,比如当下级店铺开出零售单时上级机构能实时收到XX店铺XX时XX分卖出XX款衣服X件之类的信息,当然在上级发货时,店铺里也能收到已经发货的提醒.即时通信 ...