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. ASP.NET的Validform验证表单使用说明

    当我们写提交表单的时候往往需要验证表单是否填写了内容,是否正确,这个插件可以很方便的完成我们需要的验证! 使用方法: 1.引用JS <script type="text/javascr ...

  2. PAT甲级——A1124 Raffle for Weibo Followers

    John got a full mark on PAT. He was so happy that he decided to hold a raffle(抽奖) for his followers ...

  3. 运算符的基本概念以及常用Scanner、随机数Random、选择结构的初步了解

    运算符 分类 算术运算符 位运算符 关系运算符|比较运算符 逻辑运算符 条件运算符 赋值运算符 其中优先级顺序从上到下,可以记忆口诀:单目乘除位关系,逻辑三目后赋值 操作数: 运算符左右两边的数 表达 ...

  4. webjars和springboot热启动

    webjars WebJars将Web前端Javascript和CSS等资源打包成Java的Jar包, 以便能使Maven的依赖管理支持静态JavaScript库/CSS库,比如jQuery.layu ...

  5. 02_mybatis开发dao的方法

    MyBatis开发dao的方法 1. SqlSession使用范围 1.1 SqlSessionFactoryBuilder ​ 通过SqlSessionFactoryBuilder创建会话工厂Sql ...

  6. python 对excel操作

    在python中,对excel表格读,写,追加数据,用以下三个模块:1.wlrd 读取excel表中的数据2.xlwt 创建一个全新的excel文件,然后对这个文件进行写入内容以及保存.3.xluti ...

  7. js判断客服端

    ua: function () {                    return navigator.userAgent.toLowerCase()                },      ...

  8. soj98 卡牌

    题意:一共有n张牌,每张牌有三个属性ai,bi,ci.问在属性上限为A,B,C的所有牌中有多少张牌满足至少有两个属性可以完全压制(严格大于)那n张牌? n<=50W. 标程: #include& ...

  9. sort的cmp函数

    sort的cmp函数只能写return a>b;或者return a<b;

  10. 【JZOJ3301】家族

    description 阿狸和桃子养了n 个小阿狸, 小阿狸们每天都在一起玩的很开心. 作为工程师的阿狸在对小阿狸们之间的关系进行研究以后发现了小阿狸的人际关系由某种神奇的相互作用决定, 阿狸称之为& ...