zoukankan      html  css  js  c++  java
  • 在不允许新建对象的条件下,将list中指定条件的值去除

    package com.liujianwang.learning;
    
    import java.util.LinkedList;
    import java.util.List;
    
    public class ListTest {
    
        public static void main(String[] args) {
            /*
             * 在不允许新建对象的条件下,将list中指定条件的值去除。
             * 例如:移除list中值大于6的元素。
             */
            
            //测试数据
            List<Integer> list = new LinkedList<Integer>();
            for(int i = 0; i < 10; i++) {
                list.add(i);
            }
            
            //方案一:正序,考虑索引取值问题
    //        removeListAsc(list);
            
            //方案二:倒序,可避免索引取值问题。
            removeListDesc(list);    
            
            System.out.println(list);
            
        }
        /**
         * 方案一:正序处理,考虑索引取值问题。
         */
        private static void removeListAsc(List<Integer> list) {
            for(int i = 0; i < list.size(); i++) {
                if (list.get(i) > 6) {
                    list.remove(i);
                    i--;
                }
            }
        }    
        
        /**
         * 方案二:倒序处理,可避免索引问题。
         */
        private static void removeListDesc(List<Integer> list) {
            for(int i = (list.size() - 1); i >= 0; i--) {
                if (list.get(i) > 6) {
                    list.remove(i);
                }
            }
        }    
    }

    作者:行舟逐梦

    出处:http://www.cnblogs.com/liujianwang

    感谢您的认真阅读。不足之处,欢迎指正。

  • 相关阅读:
    C++学习笔记1——const
    反转二叉树
    pywinauto 使用
    pywinauto 的使用
    爬虫基础知识
    mongdb安装配置
    pyinstaller
    Python3.6+pyinstaller+Django
    py2exe安装使用
    cx_freeze的安装使用
  • 原文地址:https://www.cnblogs.com/liujianwang/p/9276916.html
Copyright © 2011-2022 走看看