java使用Iterator、for循环同步数据

@Override

public List<AaVO> getAllData() {

//根据库存组织查询基础数据表、部门表

List<PlanDeptpower> planDeptpowers = aaServiceDao.getByOrganizationId(86L);

List<BomDepartmentsVO> bomDepartments = bomDepartmentsService.findByOrganizationId(86L);

Iterator<PlanDeptpower> planDeptpowerItrator = planDeptpowers.iterator();

Boolean beFound = false;

//Iterator<BomDepartmentsVO> bomDepartmentsItrator = bomDepartments.iterator();

//基础表匹配bomDepartment表没有则删除

while (planDeptpowerItrator.hasNext()) {

PlanDeptpower pd = planDeptpowerItrator.next();

for(BomDepartmentsVO bm: bomDepartments) {

if (pd.getDeptPtr().equals(bm.getDepartmentId())) {

beFound = true;

break;

}

}

if (beFound == false) {

aaServiceDao.deleteById(pd.getRkey());

planDeptpowerItrator.remove();

}

beFound = false;

}

//bomDepartment表匹配基础表,没有则增加

for(BomDepartmentsVO bm: bomDepartments) {

for (PlanDeptpower pd:planDeptpowers) {

if (bm.getDepartmentId().equals(pd.getDeptPtr())) {

beFound = true;

break;

}

}

if (beFound == false) {

System.out.println("增加");

PlanDeptpower planDeptpower = new PlanDeptpower();

planDeptpower.setDeptPtr(bm.getDepartmentId());

planDeptpower.setTtype(1);

planDeptpower.setData0000Ptr(86L);

aaServiceDao.save(planDeptpower);

}

beFound = false;

}

List<AaVO> aaVOs = aaServiceDao.getAllData();

return aaVOs;

}

时间: 2024-10-29 15:02:24

java使用Iterator、for循环同步数据的相关文章

java容器中遍历循环Iterator 和 Foreach 循环

最近遇到这样一个问题,要删除一个集合中的某个元素,该怎么解决? 我自己写了两段代码来删除,都报了一个错java.util.ConcurrentModificationException:为了让更多可能没注意到这个点的程序猿注意一下,我在这里分享下~ 先看代码 1 package com.zwt1234; 2 3 import java.util.HashSet; 4 import java.util.Iterator; 5 import java.util.Set; 6 7 public cla

Java的Iterator迭代器补充,增强for循环,泛型,List接口,set接口

1.Iterator迭代器:(1)类型转换异常:ClassCastException:集合中存放的是多个对象时,在强转时会出现: package com.oracle.demo01; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; public class demo01 { public static void main(String[] args) { method03();

黑马程序员——java基础——选择、循环

-----------android培训.java培训.java学习型技术博客.期待与您交流!------------ 今天回顾了一下JAVA学习中的选择语句,循环语句,和数组,在JAVA中的选择语句和C语言中差不多有if.switch一个if语句由一个后跟到一到多个语句的布尔表达式组成.顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: while循环 do…while循环 for循环 for循环的用法 先来说说哦For循环

java线程研究---(8)Thread同步:锁的概念

(多线程数据共用的)示例代码: 先来看看"java线程研究---(7)Thread同步:多线程数据共用会产生问题"这篇文章里面主要的代码例子 ShareDataThread.java package thread; public class ShareDataThread implements Runnable { private int i = 0; @Override public void run() { while (i < 10) { i++; for (int j =

常用的循环遍历数据方法---迭代器模式

咱们在C#项目开发过程中,经常使用foreach的方式来循环遍历某个聚合对象:可能已有很多人遗忘了它的工作原理:今天,我们从这里开始:实际上它是把已经聚集好的一个集合,我们不需要知道其实际的对象类型而循环读取数据:这个地方就用到了我们今天要讲的设计模式---迭代器模式:有兴趣的同学,可以下来了解一下IEumerator 和IEnumerable 接口. 什么是迭代器设计模式?提供一种方法顺序访问聚合对象中的各个元素,并又不暴露其内部表示.  也就是说,我们需要访问一个聚合对象的数据时候.需要对聚

Java集合--Iterator和Enumeration比较

转载请注明出处:http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3311275 第1部分 Iterator和Enumeration区别 在Java集合中,我们通常都通过 "Iterator(迭代器)" 或 "Enumeration(枚举类)" 去遍历集合.今天,我们就一起学习一下它们之间到底有什么区别. 我们先看看 Enumeration.java 和 Iterator.java的源码,

Java多线程——线程之间的同步

Java多线程——线程之间的同步 摘要:本文主要学习多线程之间是如何同步的,以及如何使用synchronized关键字和volatile关键字. 部分内容来自以下博客: https://www.cnblogs.com/hapjin/p/5492880.html https://www.cnblogs.com/paddix/p/5367116.html https://www.cnblogs.com/paddix/p/5428507.html https://www.cnblogs.com/liu

Java并发编程之多线程同步

线程安全就是防止某个对象或者值在多个线程中被修改而导致的数据不一致问题,因此我们就需要通过同步机制保证在同一时刻只有一个线程能够访问到该对象或数据,修改数据完毕之后,再将最新数据同步到主存中,使得其他线程都能够得到这个最新数据.下面我们就来了解Java一些基本的同步机制. Java提供了一种稍弱的同步机制即volatile变量,用来确保将变量的更新操作通知到其他线程.当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的.然而,在访问volatile变量时不会执行加锁操作

Java线程:线程的同步与锁

一.同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏. 例如:两个线程ThreadA.ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据. public class Foo {     private int x = 100; public int getX() {         return x;     } public int fix(int y) {         x = x - y;         return x;     } }