Check Redundancy
From Java Example Source Code
Contents |
[edit] Overview - Check Redundancy
This Java example takes a list of objects and checks for any redundancy in the list.
In this example a list of Integer is taken, but it can be generalized to any kind of object.
[edit] Java Source Code
- Package: smerpy
- File: RedundancyChecker.java
package smerpy; /* * Code by David Beuze. No rights reserved :) - 2006 * * contact: smerpy@gmail.com */ /* * This code snippet takes a list of objects and checks for any redundancy in the list. * In this example I've taken a list of Integer, but it can be generalized to any kind * of object. */ /*Output: * * Oh no! The value 1 is redundant. * * */ import java.util.Arrays; import java.util.List; import java.util.ListIterator; public class RedundancyChecker { public static void main(String[] a) { new RedundancyChecker(); } public RedundancyChecker() { Integer[] array = new Integer[5]; // Create and // array of // Integer Integer i0 = new Integer(0); array[0] = i0; Integer i1 = new Integer(1); // <-------- array[1] = i1; // | Integer i2 = new Integer(2); // |--- redundant // values array[2] = i2; // | Integer i3 = new Integer(1); // <-------- array[3] = i3; Integer i4 = new Integer(4); array[4] = i4; // transform the array into a List List l = Arrays.asList(array); // Check the List checkForRedundancy(l); } public boolean checkForRedundancy(List l) { ListIterator li1 = l.listIterator(); // Make a // general // ListIterator // on the list while (li1.hasNext()) { // Store the value of the actual first checked // element of the List, // it needs to be stored because it calls the // .next(), which we can call only once per loop // in order to sweep the whole list. int check1 = ((Integer) li1.next()).intValue(); // Make a second ListIterator that will start // with the element that is just after the // actual first checked one, // in order to avoid checking several times the // same elements. ListIterator li2 = l.listIterator(li1.nextIndex() + 1); while (li2.hasNext()) { // Store the following elements one by // one and check to see if they match // the actual one. int check2 = ((Integer) li2.next()).intValue(); if (check1 == check2) { System.out.println("Oh no! The value " + check1 + " is redundant."); return true; } } // The .next() method has already been called at // the beginning of the loop. } return false; } }
[edit] What Result You Can Get
Run the program, you will get:
Oh no! The value 1 is redundant.
[edit] Required External Library for this Java Example
Need nothing.
[edit] How to Run this Java Example Program
We recommend running this Java example program with Eclipse.
For assistance in working with Eclipse, please see How to Run Java Program with Eclipse.
It's fairly easy.
[edit] Question & Answer
Any question?
Click edit and post your question or answer here.
