开发者技术变现资源聚集地

https://www.baiydu.com

好久没写日志了,今天来写一个,JSONArry fro循环判断value,移除不需要的,不需再将JSONArry再次转换成 map或list。

JSONArray移除成员只能通过for遍历取成员,判断后remove(index),这样很明显是不行的,除非移除的成员只有1个,否则再你移除后for循环的遍历次数就被打乱了。你就会移除到不需要移除的成员。处理这个问题的方式其实很多的,比如创建list范型map将json遍历后一个一个弄到他们里面去......

我这里说的方式不需要创建LIST,MAP 直接就是用 remove和原本的JSONArry实现,并且效率应该是最高的。

parameterArray=“[{"boundingBox":"29,28,401,29,399,85,27,84","words":[{"boundingBox":"29,28,70,29,68,85,27,84","word":"好"},{"boundingBox":"84,29,111,29,109,85,82,85","word":"友"},{"boundingBox":"125,30,401,29,399,85,123,86","word":"137*8288"}],"text":"好友137*8288"},{"boundingBox":"799,25,1018,29,1016,91,797,87","words":[{"boundingBox":"799,25,931,25,929,87,797,87","word":"10,090"},{"boundingBox":"945,25,960,25,958,87,943,87","word":"金"},{"boundingBox":"975,25,1018,29,1016,91,973,87","word":"币"}],"text":"10,090金币"},{"boundingBox":"25,123,279,127,277,174,23,170","words":[{"boundingBox":"36,124,71,127,69,174,34,171","word":"02"},{"boundingBox":"82,127,94,128,92,175,80,174","word":"月"},{"boundingBox":"106,128,140,128,138,175,104,175","word":"21"},{"boundingBox":"152,129,164,128,162,175,150,176","word":"日"},{"boundingBox":"187,128,279,127,277,174,185,175","word":"18:50"}],"text":"02月21日 18:50"},{"boundingBox":"621,123,1017,124,1015,176,619,175","words":[{"boundingBox":"633,122,659,123,657,175,631,174","word":"等"},{"boundingBox":"672,124,697,124,695,176,670,176","word":"待"},{"boundingBox":"710,123,723,124,721,176,708,175","word":"发"},{"boundingBox":"736,124,761,124,759,176,734,176","word":"放"},{"boundingBox":"774,124,800,124,798,176,772,176","word":"奖"},{"boundingBox":"813,124,825,124,823,176,811,176","word":"励"},{"boundingBox":"838,124,928,124,926,176,836,176","word":"0"},{"boundingBox":"941,124,966,124,964,176,939,176","word":"市"},{"boundingBox":"979,124,1017,124,1015,176,977,176","word":"市"}],"text":"等待发放奖励0市市"}]”;

       int tempLowTimes=-1;
for(int k=0;k< parameterArray.length();k++)
{ JSONObject singlexx= parameterArray.getJSONObject(k);
String dltTxt=singlexx.getString("text").replace(" ", "");
if (dltTxt.contains("等待发"))
{
parameterArray.remove(k);
k=tempLowTimes;
continue; }
if (dltTxt.contains("月")&&dltTxt.contains("日"))
{
parameterArray.remove(k);
k=tempLowTimes;
continue;
}
tempLowTimes=tempLowTimes+1;
}

本人做的一款androidApp, 下载量已经有2000多万,各种当前热门的网络手机奖励红包全部集成,另外还有热门电影和淘宝高额优惠券!很适合各类型的用户。

 

Java JSONArray for循环 remove成员的一个好算法的更多相关文章

  1. Java中ArrayList循环遍历并删除元素的陷阱

    ava中的ArrayList循环遍历并且删除元素时经常不小心掉坑里,昨天又碰到了,感觉有必要单独写篇文章记一下. 先写个测试代码: import java.util.ArrayList; public ...

  2. 自己根据java的LinkedList源码编写的一个简单的LinkedList实现

    自己实现了一个简单的LinkedList /** * Create by andy on 2018-07-03 11:44 * 根据 {@link java.util.LinkedList}源码 写了 ...

  3. java基础3_循环语句,数组

    java中的循环: Java中提供了3中循环结构:  while  do-while  for ① 循环结构的作用? 可以不断重复执行循环结构中的代码: ② 上面的3个循环结构功能都是一样的,只是结构 ...

  4. java中for循环的6种写法

    有些写法上的说明写的过于武断,可能有很多不当之处,仅供参考.   package ForLoop; import java.util.ArrayList; import java.util.Itera ...

  5. 【Java SE】利用Java的for循环加random制作小学试卷

    前期介绍:很多同学以为学习一门编程语言,一定要学到很高深的时候才可以做项目,其实不然,很多时候我们不需要学到面向对象的思想,就可以从事一些小项目的开发,来增加自己对开发的热情,比如现在我就可以利用Ja ...

  6. java变量和作用域以及成员变量的默认初始化

    Java中的变量有成员变量和局部变量,定义在类中方法之外的变量成为成员变量或者成员字段(域),表示一个类所具有的属性,定义为类的成员变量的变量的作用于是整个类,该变量在定义的时候不需要初始化,在使用前 ...

  7. Java中for_each循环的使用

    最近在看一些和安卓相关的书籍,看到了for_each这种循环结构,这是为了简化java的for循环而改造的一种方便使用的格式. 格式如下: for(数据类型 变量:集合) 语句块 接下来看一个例程: ...

  8. JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识

    JAVA WEB快速入门系列之前的相关文章如下:(文章全部本人[梦在旅途原创],文中内容可能部份图片.代码参照网上资源) 第一篇:JAVA WEB快速入门之环境搭建 第二篇:JAVA WEB快速入门之 ...

  9. Java 控制语句:循环、条件判断

    基础很重要,基础很重要,基础很重要.重要的事情说三遍,. 程序设计中的控制语句主要有三种:顺序.分支和循环.我们每天写的代码,除了业务相关,里面会包含大量的控制语句.但是控制语句的基本使用,是否有些坑 ...

随机推荐

  1. 实现硬件PWM控制电机旋转和通过编码器计算所转圈数的简单例程

    该例程所用的硬件设备: 直流电机驱动模块YYH-LWZ: H桥 大功率 正反转 刹车 PWM 调速 5/12/24V 12V直流减速电机JGB37-520B:ASLONG JGB37-520B编码器减 ...

  2. 2018-2019-2 20175213实验一 《Java开发环境的熟悉》实验报告

    第一部分实验要求:1 建立“自己学号exp1”的目录2 在“自己学号exp1”目录下建立src,bin等目录3 javac,java的执行在“自己学号exp1”目录4 提交 Linux或Window或 ...

  3. jmiter性能测试

    1. Jmeter简介Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件.相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测 ...

  4. UniRX简述

    UniRX:是一个Unit3D的编程框架,专注于解决异步逻辑,使得异步逻辑的实现更加简单优雅. 例如:实现“只处理第一次鼠标点击事件”: Observable.EveryUpdate() .Where ...

  5. OpenStack 安装:neutron服务

    在上一篇中介绍了Nova的安装配置,这一篇介绍neutron 首先,创建neutron用户并设置密码为neutron [root@linux-node1 ~]# openstack user crea ...

  6. pandas,pd.ExcelWriter保存结果到已存在的excel文件中

    背景:pandas支持将DataFrame数据直接保存到excel中   保存的case如下: import pandas as pd with pd.ExcelWriter('a.xls') as ...

  7. vue(一)vue-cli安装

    第一步:我们首先要全局安装vue官方提供的脚手架工具:vue-cli $ npm install vue-cli -g 第二步:然后我们就可以创建自己的vue项目了, $ vue init webpa ...

  8. 19. Remove Nth Node From End of List (JAVA)

    Given a linked list, remove the n-th node from the end of list and return its head. Example: Given l ...

  9. 针对特定网站scrapy爬虫的性能优化

    在使用scrapy爬虫做性能优化时,一定要根据不同网站的特点来进行优化,不要使用一种固定的模式去爬取一个网站,这个是真理,以下是对58同城的爬取优化策略: 一.先来分析一下影响scrapy性能的set ...

  10. Java中代理

    普通代理(最简单的代理) 需要有两个实现同一个接口的类,一个是被代理的类,一个是代理类 被代理类中我们按照自己想实现的功能重写接口中的方法 代理类中因为需要代理被代理类,所以在代理类中需要有个被代理类 ...