From 349d341dadda1e3ba5d7ad7525d03ce1d135233a Mon Sep 17 00:00:00 2001 From: Tim Molter <tim@knowm.org> Date: Sat, 11 Jul 2015 15:56:56 -0600 Subject: [PATCH] Issue #81 ConcurrentModificationException - I changed the type of List in the demos and the exception disappears. --- .../xeiam/xchart/demo/charts/realtime/RealtimeChart01.java | 4 ++-- .../xeiam/xchart/demo/charts/realtime/RealtimeChart02.java | 6 +++--- .../xeiam/xchart/demo/charts/realtime/RealtimeChart03.java | 7 ++++--- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/realtime/RealtimeChart01.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/realtime/RealtimeChart01.java index f0388b1a..4970231d 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/realtime/RealtimeChart01.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/realtime/RealtimeChart01.java @@ -15,10 +15,10 @@ */ package com.xeiam.xchart.demo.charts.realtime; -import java.util.ArrayList; import java.util.List; import java.util.Timer; import java.util.TimerTask; +import java.util.concurrent.CopyOnWriteArrayList; import javax.swing.JFrame; @@ -102,7 +102,7 @@ public class RealtimeChart01 implements ExampleChart { private List<Double> getRandomData(int numPoints) { - List<Double> data = new ArrayList<Double>(); + List<Double> data = new CopyOnWriteArrayList<Double>(); for (int i = 0; i < numPoints; i++) { data.add(Math.random() * 100); } diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/realtime/RealtimeChart02.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/realtime/RealtimeChart02.java index ca098665..4cd06de9 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/realtime/RealtimeChart02.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/realtime/RealtimeChart02.java @@ -15,10 +15,10 @@ */ package com.xeiam.xchart.demo.charts.realtime; -import java.util.ArrayList; import java.util.List; import java.util.Timer; import java.util.TimerTask; +import java.util.concurrent.CopyOnWriteArrayList; import javax.swing.JFrame; @@ -105,7 +105,7 @@ public class RealtimeChart02 implements ExampleChart { private List<Double> getRandomData(int numPoints) { - List<Double> data = new ArrayList<Double>(); + List<Double> data = new CopyOnWriteArrayList<Double>(); for (int i = 0; i < numPoints; i++) { data.add(Math.random() * 100); } @@ -114,7 +114,7 @@ public class RealtimeChart02 implements ExampleChart { private List<Integer> getMonotonicallyIncreasingData(int numPoints) { - List<Integer> data = new ArrayList<Integer>(); + List<Integer> data = new CopyOnWriteArrayList<Integer>(); for (int i = 0; i < numPoints; i++) { data.add(i); } diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/realtime/RealtimeChart03.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/realtime/RealtimeChart03.java index eda32921..e1260e36 100644 --- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/realtime/RealtimeChart03.java +++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/realtime/RealtimeChart03.java @@ -19,6 +19,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Timer; import java.util.TimerTask; +import java.util.concurrent.CopyOnWriteArrayList; import javax.swing.JFrame; @@ -37,9 +38,9 @@ import com.xeiam.xchart.demo.charts.ExampleChart; */ public class RealtimeChart03 implements ExampleChart { - private List<Integer> xData = new ArrayList<Integer>(); - private List<Double> yData = new ArrayList<Double>(); - private List<Double> errorBars = new ArrayList<Double>(); + private List<Integer> xData = new CopyOnWriteArrayList<Integer>(); + private List<Double> yData = new CopyOnWriteArrayList<Double>(); + private List<Double> errorBars = new CopyOnWriteArrayList<Double>(); public static final String SERIES_NAME = "series1"; -- GitLab