From 931fba58bc2ff7e3f2718e075652ddfe67fd0bbf Mon Sep 17 00:00:00 2001 From: Chloe Christine Fontenot Date: Sun, 19 Oct 2025 21:31:18 -0500 Subject: [PATCH] Markou why must you make agonizing assignments --- .gitignore | 1 + .../dist/lab12_CalebFontenot.jar | Bin 0 -> 17964 bytes .../NestedForPyramid.class | Bin 0 -> 868 bytes .../Printed HTMLs/ArrayListASDV.html | 1006 +++++++++++++++++ .../Assignments/MP4_CalebFontenot/pom.xml | 14 + .../mp4_calebfontenot/ArrayListASDV.java | 975 ++++++++++++++++ .../mp4_calebfontenot/MP4_CalebFontenot.java | 16 + .../Printed HTMLs/A1.html | 72 ++ .../Printed HTMLs/A2.html | 90 ++ .../Printed HTMLs/A3.html | 93 ++ .../Printed HTMLs/A4.html | 110 ++ .../Printed HTMLs/Circle.html | 75 ++ .../Printed HTMLs/GeometricObject.html | 89 ++ .../GeometricObjectComparator.html | 42 + .../MultipleBallsWithComparator.html | 209 ++++ .../Printed HTMLs/Rectangle.html | 76 ++ .../Printed HTMLs/TestArrayAndLinkedList.html | 68 ++ .../Printed HTMLs/TestComparator.html | 53 + .../Printed HTMLs/TestPriorityQueue.html | 68 ++ .../Printed HTMLs/TestTheCollections.html | 128 +++ .../labChapter20.pdf | Bin .../nb-configuration.xml | 2 +- .../nbactions.xml | 0 .../pom.xml | 2 +- .../caleb/javafxballswithcomparator/A1.java | 0 .../caleb/javafxballswithcomparator/A2.java | 43 +- .../caleb/javafxballswithcomparator/A3.java | 63 ++ .../caleb/javafxballswithcomparator/A4.java | 80 ++ .../caleb/javafxballswithcomparator/App.java | 0 .../javafxballswithcomparator/Circle.java | 0 .../GeometricObject.java | 0 .../GeometricObjectComparator.java | 0 .../MultipleBallsWithComparator.java | 0 .../javafxballswithcomparator/Rectangle.java | 0 .../javafxballswithcomparator/SystemInfo.java | 0 .../TestArrayAndLinkedList.java | 0 .../TestComparator.java | 0 .../TestPriorityQueue.java | 40 + .../TestTheCollections.java | 100 ++ .../src/main/java/module-info.java | 0 .../caleb/javafxballswithcomparator/A1.class | Bin 0 -> 2234 bytes .../javafxballswithcomparator/A2$1.class | Bin 0 -> 1043 bytes .../javafxballswithcomparator/A2$2.class | Bin 0 -> 1122 bytes .../caleb/javafxballswithcomparator/A2.class | Bin 0 -> 2109 bytes .../javafxballswithcomparator/A3$1.class | Bin 0 -> 1051 bytes .../javafxballswithcomparator/A3$2.class | Bin 0 -> 1092 bytes .../caleb/javafxballswithcomparator/A3.class | Bin 0 -> 2407 bytes .../javafxballswithcomparator/A4$1.class | Bin 0 -> 1148 bytes .../javafxballswithcomparator/A4$2.class | Bin 0 -> 1239 bytes .../caleb/javafxballswithcomparator/A4.class | Bin 0 -> 2995 bytes .../caleb/javafxballswithcomparator/App.class | Bin 0 -> 1825 bytes .../javafxballswithcomparator/Circle.class | Bin 0 -> 1715 bytes .../GeometricObject.class | Bin 0 -> 1817 bytes .../GeometricObjectComparator.class | Bin 0 -> 1176 bytes .../MultipleBallsWithComparator$Ball.class | Bin 0 -> 1572 bytes ...BallsWithComparator$MultipleBallPane.class | Bin 0 -> 4396 bytes .../MultipleBallsWithComparator.class | Bin 0 -> 4421 bytes .../javafxballswithcomparator/Rectangle.class | Bin 0 -> 1064 bytes .../SystemInfo.class | Bin 0 -> 613 bytes .../TestArrayAndLinkedList.class | Bin 0 -> 2481 bytes .../TestComparator.class | Bin 0 -> 2505 bytes .../TestPriorityQueue.class | Bin 0 -> 2043 bytes .../TestTheCollections.class | Bin 0 -> 4558 bytes .../target/classes/module-info.class | Bin 0 -> 277 bytes .../compile/default-compile/createdFiles.lst | 24 + .../compile/default-compile/inputFiles.lst | 12 + .../nb-configuration.xml | 2 +- Semester 3/MP4_Generics_CalebFontenot/pom.xml | 4 +- .../ArrayListASDV.java | 13 +- .../IteratorASDV.java | 3 +- Semester 3/ZIPs/MP4_CalebFontenot.zip | Bin 0 -> 20476 bytes .../ZIPs/lab7-chapter20_CalebFontenot.zip | Bin 0 -> 1386389 bytes test/pom.xml | 14 + .../java/com/calebfontenot/test/Test.java | 16 + 74 files changed, 3581 insertions(+), 22 deletions(-) create mode 100644 Semester 1/Assignments/lab12_CalebFontenot/dist/lab12_CalebFontenot.jar create mode 100644 Semester 1/Assignments/lab12_CalebFontenot/src/lab12_calebfontenot/NestedForPyramid.class create mode 100644 Semester 3/Assignments/MP4_CalebFontenot/Printed HTMLs/ArrayListASDV.html create mode 100644 Semester 3/Assignments/MP4_CalebFontenot/pom.xml create mode 100644 Semester 3/Assignments/MP4_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/mp4_calebfontenot/ArrayListASDV.java create mode 100644 Semester 3/Assignments/MP4_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/mp4_calebfontenot/MP4_CalebFontenot.java create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A1.html create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A2.html create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A3.html create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A4.html create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/Circle.html create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/GeometricObject.html create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/GeometricObjectComparator.html create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/MultipleBallsWithComparator.html create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/Rectangle.html create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestArrayAndLinkedList.html create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestComparator.html create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestPriorityQueue.html create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestTheCollections.html rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/labChapter20.pdf (100%) rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/nb-configuration.xml (99%) rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/nbactions.xml (100%) rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/pom.xml (98%) rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A1.java (100%) rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A2.java (51%) create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A3.java create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A4.java rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/App.java (100%) rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/Circle.java (100%) rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObject.java (100%) rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObjectComparator.java (100%) rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/MultipleBallsWithComparator.java (100%) rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/Rectangle.java (100%) rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/SystemInfo.java (100%) rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestArrayAndLinkedList.java (100%) rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestComparator.java (100%) create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestPriorityQueue.java create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestTheCollections.java rename Semester 3/Assignments/{JavaFXBallsWithComparator => lab7-chapter20_CalebFontenot}/src/main/java/module-info.java (100%) create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A1.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A2$1.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A2$2.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A2.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A3$1.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A3$2.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A3.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A4$1.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A4$2.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A4.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/App.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/Circle.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObject.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObjectComparator.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/MultipleBallsWithComparator$Ball.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/MultipleBallsWithComparator$MultipleBallPane.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/MultipleBallsWithComparator.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/Rectangle.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/SystemInfo.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/TestArrayAndLinkedList.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/TestComparator.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/TestPriorityQueue.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/TestTheCollections.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/module-info.class create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 Semester 3/ZIPs/MP4_CalebFontenot.zip create mode 100644 Semester 3/ZIPs/lab7-chapter20_CalebFontenot.zip create mode 100644 test/pom.xml create mode 100644 test/src/main/java/com/calebfontenot/test/Test.java diff --git a/.gitignore b/.gitignore index 2fca960..6d164ba 100644 --- a/.gitignore +++ b/.gitignore @@ -181,3 +181,4 @@ /Semester 3/Assignments/DBConnectionTest/target/ /Semester 3/Assignments/mavenproject1/target/ /Semester 3/Assignments/JavaFXBallsWithComparator/target/ +/Semester 3/Assignments/MP4_CalebFontenot/target/ diff --git a/Semester 1/Assignments/lab12_CalebFontenot/dist/lab12_CalebFontenot.jar b/Semester 1/Assignments/lab12_CalebFontenot/dist/lab12_CalebFontenot.jar new file mode 100644 index 0000000000000000000000000000000000000000..3e8f210c44cf44b3e17e24f02f57afa2549a5289 GIT binary patch literal 17964 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 K20ze}BL)Eepi)x+ literal 0 HcmV?d00001 diff --git a/Semester 1/Assignments/lab12_CalebFontenot/src/lab12_calebfontenot/NestedForPyramid.class b/Semester 1/Assignments/lab12_CalebFontenot/src/lab12_calebfontenot/NestedForPyramid.class new file mode 100644 index 0000000000000000000000000000000000000000..c66a8efa8e421b5a6b7df55ec91c26a1e7370a1d GIT binary patch literal 868 zcmX^0Z`VEs1_lQPT`mSD24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9u(!lmBl5gxr_|V`K2X{45B_@gEI5=1Bx>9N`gy@ zQWJBnIT-jD8Q2uSfQvzZL6Dt6h=)O#L4=V(7>jyF2G#t|S%qvMvPc33(U@uF|DNXfHV`LE1 z@YF;y4XVN#G&CHj7;#U-gJZuvz4l|_lUnJJ76EYA5Usf-N# zKACx`ex48FvL6Jd)fr$YGm>3vAX@P-}L5+cdL6(7$fsuiMfmLfe1LH;p1_nk3bp{3o zHn1Q!11Ez9gC;~NBMSo?11kdqLmRV=0J|-Vova{3!(xUiW-}I17MVp1f}0rFg?P6y z@VBrqF8}|Y1tcuHm_Z37EXuN%fhm$%lw}8lcF)7QI-TVmgWENNrTkQV^GAQ zj5PcJ)k_H7J`ElmGqZDeH=?3Vv;1-X?8>{d4hK?Vi}UIr!xJ_c3>K?XhsVFqyq z5e9h%VFpzOaRxmG2?l2daRy%oX@*b+8HOwdX@+73d4@^`1%?_1MTR;CL55Za6$UK^ u1_lKNj(-g7jEszb7&sY!F$n)*U}F5mpaP+kelZ9#FfwQ}FfcGN=l}p4nZl9) literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/MP4_CalebFontenot/Printed HTMLs/ArrayListASDV.html b/Semester 3/Assignments/MP4_CalebFontenot/Printed HTMLs/ArrayListASDV.html new file mode 100644 index 0000000..f88aa6e --- /dev/null +++ b/Semester 3/Assignments/MP4_CalebFontenot/Printed HTMLs/ArrayListASDV.html @@ -0,0 +1,1006 @@ + + + +ArrayListASDV.java + + + + +
/home/caleb/ASDV-Java/Semester 3/Assignments/MP4_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/mp4_calebfontenot/ArrayListASDV.java
+
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package edu.slcc.asdv.caleb.mp4_calebfontenot;
+
+/**
+ *
+ * @author caleb
+ */
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.NoSuchElementException;
+import java.util.Objects;
+import java.util.function.Consumer;
+
+/**
+ *
+ * @author ASDV2
+ */
+public class ArrayListASDV<E>
+        implements Serializable, Cloneable, List<E> {
+
+    private E[] list;
+    private int index;//the index to add at ( length of array)
+
+    //private Class<E> type;
+    /**
+     * Constructs an empty list with an initial capacity of three.
+     *
+     */
+    public ArrayListASDV() {
+        list = (E[]) new Object[3];
+        index = 0;
+    }
+
+    /**
+     * Constructs an empty list with the specified initial capacity.
+     *
+     * @param initialCapacity - the initial capacity of the list
+     * @throws IllegalArgumentException - if the specified initial capacity is negative
+     */
+    public ArrayListASDV(int initialCapacity) {
+        if (initialCapacity < 0) {
+            throw new IllegalArgumentException("initialCapacity id negative: " + initialCapacity);
+        }
+        list = (E[]) new Object[initialCapacity];
+        index = 0;
+
+    }
+
+    /**
+     * Double the size of the current list and copies to it the old list
+     *
+     * @return the new array.
+     */
+    private E[] doubleSizeOfList() {
+        list = this.toArray((E[]) new Object[list.length + list.length]);
+        return this.list;
+
+    }
+
+    /**
+     * Constructs a list containing the elements of the specified collection, in the order they are returned by the collection's iterator.
+     *
+     * @param c - the collection whose elements are to be placed into this
+     * @throws NullPointerException - if the specified collection is null
+     *
+     *
+     */
+    public ArrayListASDV(Collection<? extends E> c) {
+        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+    }
+
+    /**
+     * Returns true if this collection changed as a result of the call. false if this collection does not permit duplicates and already contains the specified element.
+     *
+     * @param e - element whose presence in this collection is to be ensured
+     *
+     * @return true if this collection changed as a result of the call
+     * @throws ClassCastException - if the class of the specified element prevents it from being added to this collection
+     * @throws NullPointerException - if the specified element is null and this collection does not permit null elements
+     * @throws IllegalArgumentException - if some property of the element prevents it from being added to this collection
+     */
+    @Override
+    public boolean add(E e) {
+        if (e == null) {
+            throw new NullPointerException("null parameter");
+        }
+
+        list[index++] = e;
+        if (index >= list.length * 0.75) {
+            doubleSizeOfList();
+        }
+        return true;
+    }
+
+    /**
+     * Returns the number of elements in this list.
+     *
+     * @return the number of elements in this list.
+     */
+    @Override
+    public int size() {
+        return index;
+    }
+
+    @Override
+    public String toString() {
+        String s = "ArrayListASDV[";
+
+        for (int i = 0; i < index; ++i) {
+            s += list[i] + " ";
+        }
+        s += "]";
+
+        return s;
+    }
+
+    /**
+     * Returns true if this list contains no elements.
+     *
+     * @return true if this list contains no elements
+     *
+     */
+    @Override
+    public boolean isEmpty() {
+        return this.index == 0;
+    }
+
+    /**
+     * Returns true if this list contains the specified element. More formally, returns true if and only if this list contains at least one element e such that (o==null ? e==null : o.equals(e)).
+     *
+     * @param o - element whose presence in this list is to be tested
+     *
+     * @return true if this list contains the specified element
+     *
+     */
+    public boolean contains(Object o) {
+
+        if (o == null) {
+            return false;
+        }
+        for (int i = 0; i < this.index; i++) {
+            if (o.equals(this.list[i])) {
+                return true;
+            }
+        }
+        return false;
+
+    }
+
+    /**
+     * Returns an array containing all of the elements in this list in proper sequence (from first to last element). The returned array will be "safe" in that no references to it are maintained by this list. (In other words, this method must allocate a new array). The caller is thus free to modify the returned array. This method acts as bridge between array-based and collection-based APIs. Returns: an array containing all of the elements in this list in proper sequence
+     *
+     * @return an array containing all of the elements in this list in proper sequence
+     */
+    @Override
+    public Object[] toArray() {
+        Object[] returnArray = new Object[index];
+        for (int i = 0; i < index; ++i) {
+            Object objCopy = list[i];
+            returnArray[i] = objCopy;
+        }
+        return returnArray;
+    }
+
+    /**
+     * Removes the first occurrence of the specified element from this list, if it is present. If the list does not contain the element, it is unchanged. More formally, removes the element with the lowest index i such that (o==null ? get(i)==null : o.equals(get(i))) (if such an element exists). Returns true if this list contained the specified element (or equivalently, if this list changed as a result of the call).
+     *
+     * @param o - element to be removed from this list, if present
+     * @return true if this list contained the specified element
+     */
+    @Override
+    public boolean remove(Object o) {
+        if (o == null) {
+            return false;
+        }
+        Object[] newArray = new Object[index];
+        int i = 0;
+        for (Object arrayElement : list) {
+            try {
+                if (!arrayElement.equals(o)) {
+                    newArray[i] = arrayElement;
+                }
+                if ((index - 1) > i) {
+                    ++i;
+                }
+            } catch (NullPointerException ex) {
+                continue;
+            }
+            
+        }
+        --index;
+        list = (E[]) newArray;
+        return true;
+    }
+
+    /**
+     * Removes all of the elements from this list. The list will be empty after this call returns. Note: Traverse the array and set all of its elements to null. Set its index to zero.
+     */
+    @Override
+    public void clear() {
+        for (int i = 0; i < list.length; ++i) {
+            list[i] = null;
+        }
+        index = 0;
+    }
+
+    /**
+     * Returns the element at the specified position in this list.
+     *
+     * @param index of the element to return
+     * @return the element at the specified position in this list
+     * @throws IndexOutOfBoundsException - if the index is out of range (index GE 0 || index GE size())
+     */
+    @Override
+    public E get(int index) {
+        return list[index];
+    }
+
+    /**
+     * Replaces the element at the specified position in this list with the specified element.
+     *
+     * @param index - index of the element to replace
+     * @param element - element to be stored at the specified position
+     * @return the element previously at the specified position
+     * @throws IndexOutOfBoundsException - if the index is out of range (index GE 0 || index GE size())
+     */
+    @Override
+    public E set(int index, E element) {
+        return list[index] = element;
+    }
+
+    /**
+     * Inserts the specified element at the specified position in this list. Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).
+     *
+     * @param index - index at which the specified element is to be inserted element
+     * @param - element to be inserted
+     * @throws NullPointerException - if the specified element is null and this collection does not permit null elements
+     * @throws IndexOutOfBoundsException - if the index is out of range (index GE 0 || index GE size())
+     */
+    public void add(int index, E element) {
+        if (element == null) {
+            throw new NullPointerException("cant add null");
+        }
+        if (index > this.index || index < 0) {
+            throw new IndexOutOfBoundsException("cant add at this index");
+        }
+
+        // Check if the list needs to be resized
+        if (this.index >= list.length) {
+            doubleSizeOfList();
+        }
+
+        // Shift elements to the right to make space for the new element
+        for (int i = this.index; i > index; i--) {
+            list[i] = list[i - 1];
+        }
+
+        // Insert the new element at the specified index
+        list[index] = element;
+        this.index++;
+    }
+
+    /**
+     * Removes the element at the specified position in this list. Shifts any subsequent elements to the left (subtracts one from their indices).
+     *
+     * @param index - the index of the element to be removed
+     * @return the element that was removed from the list
+     * @throws IndexOutOfBoundsException - if the index is out of range (index GE 0 || index GE size())
+     */
+    public E remove(int index) {
+        Object removedObject = new Object();
+        if (index < 0 || index >= this.index) {
+            throw new IndexOutOfBoundsException("Index " + index + " out of bounds");
+        }
+                Object[] newArray = new Object[index];
+        int j = 0;
+        for (int i = 0; i < index; ++i) {
+            try {
+                if (i != index) {
+                    newArray[j] = list[i];
+                } else {
+                    removedObject = list[i];
+                }
+                if ((index - 1) > j) {
+                    ++j;
+                }
+            } catch (NullPointerException ex) {
+                continue;
+            }
+            
+        }
+        --this.index;
+        list = (E[]) newArray;
+        return (E) removedObject;
+    }
+
+    /**
+     * Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element. More formally, returns the lowest index i such that (o==null ? get(i)==null : o.equals(get(i))), or -1 if there is no such index. Parameters:
+     *
+     * @param o - element to search for
+     * @return the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element
+     */
+    @Override
+    public int indexOf(Object o) {
+        for (int i = 0; i < index - 1; i++) {
+            if (list[i].equals(o)) {
+                return i;
+            }
+        }
+
+        return -1;
+    }
+
+    /**
+     * Returns the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element. More formally, returns the highest index i such that (o==null ? get(i)==null : o.equals(get(i))), or -1 if there is no such index. Parameters:
+     *
+     * @param o - element to search for
+     * @return the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element
+     */
+    @Override
+    public int lastIndexOf(Object o) {
+        for (int i = list.length - 1; i >= 0; i--) {
+            if (list[i] != null && list[i].equals(o)) {
+                return i;
+            }
+        }
+        return -1;
+    }
+
+    /**
+     * Returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive. (If fromIndex and toIndex are equal, the returned list is empty.) The returned list is backed by this list, so non-structural changes in the returned list are reflected in this list, and vice-versa. The returned list supports all of the optional list operations. This method eliminates the need for explicit range operations (of the sort that commonly exist for arrays). Any operation that expects a list can be used as a range operation by passing a subList view instead of a whole list. For example, the following idiom removes a range of elements from a list: list.subList(from, to).clear();
+     *
+     * Similar idioms may be constructed for ArrayList.indexOf(Object) and ArrayList.lastIndexOf(Object), and all of the algorithms in the Collections class can be applied to a subList. The semantics of the list returned by this method become undefined if the backing list (i.e., this list) is structurally modified in any way other than via the returned list. (Structural modifications are those that change the size of this list, or otherwise perturb it in such a fashion that iterations in progress may yield incorrect results.)
+     *
+     * @param fromIndex - low endpoint (inclusive) of the subList
+     * @param toIndex - high endpoint (exclusive) of the subList
+     * @return a view of the specified range within this list
+     * @throws IndexOutOfBoundsException - for an illegal endpoint index value (fromIndex LE 0 || toIndex > size || fromIndex > toIndex)
+     * @throws IllegalArgumentException - if the endpoint indices are out of order (fromIndex > toIndex)
+     */
+    @Override
+    public List<E> subList(int fromIndex, int toIndex) {
+        if (fromIndex < 0 || toIndex > size() || fromIndex > toIndex) {
+            throw new IndexOutOfBoundsException();
+        }
+        List<E> sublist = new ArrayListASDV<>();
+
+        for (int i = fromIndex; i < toIndex; i++) {
+            sublist.add(get(i));
+        }
+        return sublist;
+    }
+
+    /**
+     * Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array. If the list fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this list. If the list fits in the specified array with room to spare (i.e., the array has more elements than the list), the element in the array immediately following the end of the collection is set to null. (This is useful in determining the length of the list only if the caller knows that the list does not contain any null elements.)
+     *
+     * @param a - the array into which the elements of the list are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.
+     * @return an array containing the elements of the list
+     * @throws ArrayStoreException - if the runtime type of the specified array is not a supertype of the runtime type of every element in this list
+     * @throws NullPointerException - if the specified array is null
+     */
+    @Override
+    public <T> T[] toArray(T[] a) {
+        Class<?> clazz = a.getClass();
+        //>length of a is too small
+        if (a.length < index) // Make a new array of a's runtime type
+        {
+            return (T[]) Arrays.copyOf(this.list,
+                    index,
+                    a.getClass());
+        }
+
+        //>length of a is good
+        System.arraycopy(this.list, 0, a, 0, index);
+
+        //>length of a is greater than this list set nulls
+        if (a.length > index) {
+            for (int i = index; i < a.length; ++i) {
+                a[i] = null;
+            }
+        }
+        return a;
+
+    }
+
+    @Override
+    public Iterator<E> iterator() {
+        Iterator<E> it = new Iterator<E>() {
+            int index = 0;
+            //E[] list = (E[]) new Object[3];
+
+            @Override
+            public boolean hasNext() {
+                if (index == list.length) {
+                    return false;
+                }
+                return true;
+            }
+
+            @Override
+            public E next() {
+                return list[index++];
+            }
+
+            @Override
+            public void remove() {
+                if (index < 1) {
+                    Object[] newList = new Object[--index];
+                    for (int i = 0; i < index; i++) {
+                        newList[i] = list[i];
+                    }
+                    list = (E[]) newList;
+                }
+            }
+
+            /**
+             * Performs the given action for each remaining element until all elements have been processed or the action throws an exception- Actions are performed in the order of iteration, if that order is specified- Exceptions thrown by the action are relayed to the caller.
+             *
+             *
+             * @throws NullPointerException - if the specified action is null
+             */
+            @Override
+            public void forEachRemaining(Consumer<? super E> action) {
+                if (action == null) {
+                    throw new NullPointerException("Action is Null");
+                }
+
+                while (hasNext()) {
+                    action.accept(next());
+                }
+            }
+
+        };
+        return (Iterator<E>) it;
+    }
+
+    ;
+
+    /**
+     * Returns a list iterator over the elements in this list (in proper sequence). The returned list iterator is fail-fast.
+     *
+     *
+     * @return a list iterator over the elements in this list (in proper sequence
+     */
+    @Override
+    public ListIterator<E> listIterator() {
+        return listIterator(0);
+
+    }
+
+    @Override
+    public ListIterator<E> listIterator(int index) {
+
+        ListIterator<E> it = new ListIterator<E>() {
+            //E[] list = (E[]) new Object[3];
+            int index;
+
+            /**
+             * Returns true if this list iterator has more elements when traversing the list in the forward direction. (In other words, returns true if ListIterator.next would return an element rather than throwing an exception.)
+             *
+             * @return true if the list iterator has more elements when traversing the list in the forward direction
+             */
+            @Override
+            public boolean hasNext() {
+                return next() != null;
+            }
+
+            /**
+             * Returns the next element in the list and advances the cursor position. This method may be called repeatedly to iterate through the list, or intermixed with calls to ListIterator.previous to go back and forth. (Note that alternating calls to next and previous will return the same element repeatedly.)
+             *
+             * @return the next element in the list
+             * @throws NoSuchElementException - if the iteration has no next element
+             */
+            @Override
+            public E next() throws NoSuchElementException {
+                if (index > list.length) {
+                    throw new NoSuchElementException();
+                }
+                System.out.println("List iterator next() "+ list[index]);
+                return list[index++];
+            }
+
+            @Override
+            public boolean hasPrevious() {
+                return index > 0;
+            }
+
+            @Override
+            public E previous() {
+                return list[--index];
+
+            }
+
+            /**
+             * Returns the index of the element that would be returned by a subsequent call to next(). (Returns list size if the list iterator is at the end of the list.)
+             *
+             * @return the index of the element that would be returned by a subsequent call to next, or list size if the list iterator is at the end of the list
+             */
+            @Override
+            public int nextIndex() {
+                return index + 1;
+            }
+
+            /**
+             * Returns the index of the element that would be returned by a subsequent call to previous(). (Returns -1 if the list iterator is at the beginning of the list.)
+             *
+             * @return the index of the element that would be returned by a subsequent call to previous, or -1 if the list iterator is at the beginning of the list
+             */
+            @Override
+            public int previousIndex() {
+                return index - 1;
+            }
+
+            /**
+             * Performs the given action for each remaining element until all elements have been processed or the action throws an exception- Actions are performed in the order of iteration, if that order is specified- Exceptions thrown by the action are relayed to the caller.
+             *
+             *
+             * @throws NullPointerException - if the specified action is null
+             */
+            @Override
+            public void forEachRemaining(Consumer<? super E> action) {
+                if (action == null) {
+                    throw new NullPointerException("Action is Null");
+                }
+
+                while (hasNext()) {
+                    action.accept(next());
+                }
+            }
+
+            @Override
+            public void remove() {
+                throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+            }
+
+            @Override
+            public void set(E e) {
+                throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+            }
+
+            @Override
+            public void add(E e) {
+                throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
+            }
+        };
+
+        return it;
+
+    }
+
+    /**
+     *
+     * Returns true if this collection contains all of the elements in the specified collection.
+     *
+     * Parameters: c - collection to be checked for containment in this collection Returns: true if this collection contains all of the elements in the specified collection Throws: ClassCastException - if the types of one or more elements in the specified collection are incompatible with this collection (optional) NullPointerException - if the specified collection contains one or more null elements and this collection does not permit null elements (optional), or if the specified collection is null.
+     *
+     * @param c - collection to be checked for containment in this collection
+     * @return true if this collection contains all of the elements in the specified collection.
+     * @throws ClassCastException - if the types of one or more elements in the specified collection are incompatible with this collection
+     */
+    @Override
+    public boolean containsAll(Collection<?> c) {
+        for (Object e : c) {
+            if (!contains(e)) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    @Override
+    public boolean addAll(Collection<? extends E> c) {
+        boolean changed = false;
+        for (E e : c) {
+            if (add(e)) {
+                changed = true;
+            }
+        }
+
+        return changed;
+    }
+
+    @Override
+    public boolean addAll(int index, Collection<? extends E> c) {
+        boolean changed = false;
+        for (E e : c) {
+            add(index++, e);
+            changed = true;
+        }
+        return changed;
+    }
+
+    /**
+     * Removes all of this collection's elements that are also contained in the specified collection (optional operation). After this call returns, this collection will contain no elements in common with the specified collection.
+     *
+     * Parameters: c - collection containing elements to be removed from this collection Returns: true if this collection changed as a result of the call Throws: UnsupportedOperationException - if the removeAll method is not supported by this collection ClassCastException - if the types of one or more elements in this collection are incompatible with the specified collection (optional) NullPointerException - if this collection contains one or more null elements and the specified collection does not support null elements (optional), or if the specified collection is null
+     *
+     * @param c - collection containing elements to be removed from this collection
+     * @return true if this collection changed as a result of the call
+     * @throws ClassCastException - if the types of one or more elements in this collection are incompatible with the specified collection
+     */
+    @Override
+    public boolean removeAll(Collection<?> c) {
+        Objects.requireNonNull(c);
+
+        List<E> elToKeep = new ArrayList<>(this);
+        elToKeep.removeAll(c);
+        elToKeep.removeIf(Objects::isNull);
+
+        clear();
+        addAll(elToKeep);
+
+        return !elToKeep.isEmpty();
+    }
+
+    /**
+     * Retains only the elements in this collection that are contained in the specified collection (optional operation). In other words, removes from this collection all of its elements that are not contained in the specified collection.
+     *
+     *
+     * @param c - collection containing elements to be retained in this collection
+     * @return true if this collection changed as a result of the call
+     * @throws ClassCastException - if the types of one or more elements in this collection are incompatible with the specified collection (optional)
+     */
+    @Override
+    public boolean retainAll(Collection<?> c) {
+        Objects.requireNonNull(c);
+
+        List<E> elToKeep = new ArrayList<>();
+        for (E element : this) {
+            if (c.contains(element)) {
+                elToKeep.add(element);
+            }
+        }
+        elToKeep.removeIf(Objects::isNull);
+
+        clear();
+        addAll(elToKeep);
+
+        return size() != elToKeep.size();
+    }
+
+    public static void main(String[] args)
+            throws ClassNotFoundException, InterruptedException {
+        ArrayListASDV<Integer> aaa = new ArrayListASDV();
+        aaa.add(1);
+        aaa.add(2);
+        aaa.add(3);
+        aaa.add(4);
+
+        ArrayListASDV<Integer> list1 = new ArrayListASDV();
+        ArrayListASDV<String> list2 = new ArrayListASDV(4);
+        ArrayListASDV<A1> list3 = new ArrayListASDV(4);
+
+        System.out.println("------------------------------ ");
+        System.out.println("test add");
+        list1.add(10);
+        list1.add(20);
+        list3.add(new A1(-1));
+        list3.add(new A1(-2));
+        Integer[] b
+                = {
+                    2, 3
+                };
+        list1.toArray(b);
+
+        list2.add("a");
+        try {
+            list2.add(null);
+        } catch (NullPointerException e) {
+            System.err.println(e);
+        };
+
+        list2.add("b");
+        list2.add("c");
+        list2.add("d");
+        System.out.println("------------------------------ ");
+        System.out.println("test toString");
+        System.out.println(list1);
+        System.out.println(list2);
+        System.out.println(list3);
+
+        System.out.println("------------------------------ ");
+        System.out.println("test contains");
+        System.out.println("contains E");
+        System.out.println("contains c: " + list2.contains("c"));
+        System.out.println("contains null: " + list2.contains(null));
+        System.out.println("contains k: " + list2.contains('k'));
+        System.out.println(list2);
+        System.out.println("contains A(-1): " + list3.contains(new A1(-1)));
+        System.out.println("contains A(-3): " + list3.contains(new A1(-3)));
+
+        System.out.println("------------------------------ ");
+        System.out.print("test toArray(): ");
+        Object[] ar = list2.toArray();
+        System.out.print("[ ");
+        for (int i = 0; i < ar.length; ++i) {
+            System.out.print(ar[i] + " ");
+        }
+        System.out.println(" ] ");
+
+        System.out.println("\n---------------------------------------");
+        System.out.println("test clear()");
+        list2.clear();
+        System.out.println(list2);
+
+        System.out.println("\n---------------------------------------");
+        System.out.println("test size");
+        System.out.println(list2.size());
+
+        System.out.println("\n---------------------------------------");
+        System.out.println("test add(index, element)");
+        for (char a = 'Z'; a >= 'A'; --a) {
+            System.out.println("array size: " + list2.size());
+            list2.add(0, "" + a);
+        }
+        System.out.println(list2);
+
+        list2.add(26, "z");
+        System.out.println(list2);
+
+        list2.add(list2.size() - 2, "y");
+        System.out.println(list2);
+
+        System.out.println("\n---------------------------------------");
+        System.out.println("test remove(index)");
+        Object o = list2.remove(27);
+        System.out.println(o);
+        System.out.println(list2);
+
+        try {
+            list2.remove(30);
+        } catch (IndexOutOfBoundsException e) {
+            System.err.println(e);
+        }
+
+        System.out.println("\n---------------------------------------");
+        System.out.println("test remove(Object)");
+        list2.remove("y");
+        System.out.println(list2);
+        System.out.println(list2.remove("not in there"));
+
+        System.out.println("\n---------------------------------------");
+        System.out.println("test set(index, Object)");
+        list2.set(0, "0");
+        list2.set(25, "25");
+        System.out.println(list2);
+
+        System.out.println("\n---------------------------------------");
+        System.out.println("test indexOf()");
+        System.out.println(list2.indexOf("0"));
+        System.out.println(list2.indexOf("B"));
+        System.out.println(list2.indexOf("25"));
+        System.out.println(list2.indexOf("Y"));
+        System.out.println(list2.indexOf("not there"));
+
+        System.out.println("\n---------------------------------------");
+        System.out.println("test lastIndexOf()");
+        list2.add(10, "0");
+        System.out.println(list2.indexOf("0"));
+        System.out.println(list2.lastIndexOf("0"));
+        System.out.println(list2.indexOf("not there"));
+        System.out.println(list2);
+
+        System.out.println("\n---------------------------------------");
+        System.out.println("test sublist(from, to)");
+        List<String> l1 = list2.subList(1, 10);
+        ArrayListASDV<String> l2 = (ArrayListASDV<String>) list2.subList(11, 26);
+
+        System.out.println(l1);
+        System.out.println(l2);
+        List<String> l3 = l2.subList(11, 11);
+        System.out.println(l3);
+        try {
+            l2.subList(12, 11);
+        } catch (Exception e) {
+            System.err.println(e);
+        }
+
+        System.out.println("\n---------------------------------------");
+        System.out.println("test toArray()");
+        Object[] ar1 = l2.toArray();
+        for (Object obj : ar1) {
+            System.out.print(obj + " ");
+        }
+
+        System.out.println("\n---------------------------------------");
+        System.out.println("test toArray(T[] a) small size a");
+        ArrayListASDV<Integer> listX = new ArrayListASDV();
+        listX.add(10);
+        listX.add(20);
+        Integer[] a1
+                = {
+                    1
+                };
+        ar = listX.toArray(ar);
+        for (int i = 0; i < ar.length; ++i) {
+            System.out.println(ar[i]);
+        }
+        System.out.println("\n---------------------------------------");
+        System.out.println("test toArray(T[] a) Big size a");
+        ArrayListASDV<A1> listA1 = new ArrayListASDV();
+        listA1.add(new A1(100));
+
+        A1[] a11
+                = {
+                    new A1(-1), new A1(-2), new A1(3)
+                };
+        listA1.toArray(a11);
+        for (int i = 0; i < a11.length; ++i) {
+            System.out.println(a11[i]);
+        }
+
+        System.out.println("");
+        System.out.println("\n---------------------------------------");
+        System.out.println("test Iterator()");
+
+        System.out.println(list2);
+
+        Iterator<String> it = list2.iterator();
+
+        while (it.hasNext()) {
+            System.out.print(it.next() + " ");
+        }
+        System.out.println("");
+
+        System.out.println("\n---------------------------------------");
+        System.out.println("test ListIterator1()");
+        ArrayListASDV<Integer> li3 = new ArrayListASDV();
+        li3.add(10);
+        li3.add(20);
+        li3.add(30);
+        li3.add(40);
+        System.out.println(li3);
+        ListIterator<Integer> li = li3.listIterator(2);
+        while (li.hasNext()) {
+            System.out.print("\tnext index: " + li.nextIndex());
+            System.out.print("\tprevious index: " + li.previousIndex());
+            System.out.print("\t" + li.next());
+        }
+        System.out.println("");
+        while (li.hasPrevious()) {
+            System.out.print("\tnext index: " + li.nextIndex());
+            System.out.print("\tprevious index: " + li.previousIndex());
+            System.out.print("\t" + li.previous());
+        }
+        System.out.println("");
+        System.out.println("next index: " + li.nextIndex());
+        System.out.println("previous index: " + li.previousIndex());
+
+        System.out.println("\n--------------------------removeAll-------------");
+        System.out.println("test forEachRemaining()");
+        //System.out.println(li.next());
+        li.forEachRemaining(new Consumer<Integer>() {
+            @Override
+            public void accept(Integer t) {
+                System.out.print(t + 1 + " ");
+            }
+        });
+
+        System.out.println("\n---------------------------------------");
+        System.out.println("test containsAll(Collection)");
+
+        List<Integer> ar33 = Arrays.asList(new Integer[]{
+            10, 20
+        });
+        System.out.println(li3.containsAll(ar33));
+        ar33 = Arrays.asList(new Integer[]{
+            10, -1
+        });
+        System.out.println(li3.containsAll(ar33));
+
+        System.out.println("\n---------------------------------------");
+        System.out.println("test removeAll(Collection)");
+
+        li3.add(10);
+        li3.add(11);
+        li3.add(10);
+        System.out.println(li3);
+        ar33 = Arrays.asList(new Integer[]{
+            10
+        });
+        System.out.println(li3.removeAll(ar33));
+        System.out.println(li3);
+        List<Object> oar = Arrays.asList(new Object[]{
+            3.3, 40, "abc"
+        });
+        try {
+            li3.removeAll(oar);
+        } catch (ClassCastException e) {
+            Thread.sleep(100);
+            System.err.println(e);
+        }
+        System.out.println(li3);
+        List<A1> sar = Arrays.asList(new A1[]{
+            new A1(999)
+        });
+        try {
+            li3.removeAll(sar);
+        } catch (ClassCastException e) {
+            Thread.sleep(100);
+            System.err.println(e);
+        }
+        System.out.println(li3);
+
+        System.out.println("\n---------------------------------------");
+        System.out.println("test retainAll(Collection)");
+        ar33 = Arrays.asList(new Integer[]{
+            30
+        });
+        li3.retainAll(ar33);
+        System.out.println(li3);
+        System.out.println("\n---------------------------------------");
+        System.out.println("test addAll(Collection)");
+        ar33 = Arrays.asList(new Integer[]{
+            1, 2, 3, 4
+        });
+        li3.addAll(ar33);
+        System.out.println(li3);
+        System.out.println("\n---------------------------------------");
+        System.out.println("test addAll(index, Collection)");
+        ar33 = Arrays.asList(new Integer[]{
+            100, 200, 300
+        });
+        li3.addAll(2, ar33);
+        System.out.println(li3);
+    }
+
+}
+
+class A1 implements Consumer<A1> {
+
+    int x;
+
+    public A1(int x) {
+        this.x = x;
+    }
+
+    @Override
+    public String toString() {
+        return "A1{" + "x=" + x + '}';
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        final A1 other = (A1) obj;
+        if (this.x != other.x) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public void accept(A1 t) {
+        System.out.println(t.x * t.x);
+
+    }
+
+}
+
+
+ diff --git a/Semester 3/Assignments/MP4_CalebFontenot/pom.xml b/Semester 3/Assignments/MP4_CalebFontenot/pom.xml new file mode 100644 index 0000000..ab4f852 --- /dev/null +++ b/Semester 3/Assignments/MP4_CalebFontenot/pom.xml @@ -0,0 +1,14 @@ + + + 4.0.0 + edu.slcc.asdv.caleb + MP4_CalebFontenot + 1.0-SNAPSHOT + jar + + UTF-8 + 17 + 17 + edu.slcc.asdv.caleb.mp4_calebfontenot.MP4_CalebFontenot + + \ No newline at end of file diff --git a/Semester 3/Assignments/MP4_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/mp4_calebfontenot/ArrayListASDV.java b/Semester 3/Assignments/MP4_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/mp4_calebfontenot/ArrayListASDV.java new file mode 100644 index 0000000..a93244e --- /dev/null +++ b/Semester 3/Assignments/MP4_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/mp4_calebfontenot/ArrayListASDV.java @@ -0,0 +1,975 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package edu.slcc.asdv.caleb.mp4_calebfontenot; + +/** + * + * @author caleb + */ +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.ListIterator; +import java.util.NoSuchElementException; +import java.util.Objects; +import java.util.function.Consumer; + +/** + * + * @author ASDV2 + */ +public class ArrayListASDV + implements Serializable, Cloneable, List { + + private E[] list; + private int index;//the index to add at ( length of array) + + //private Class type; + /** + * Constructs an empty list with an initial capacity of three. + * + */ + public ArrayListASDV() { + list = (E[]) new Object[3]; + index = 0; + } + + /** + * Constructs an empty list with the specified initial capacity. + * + * @param initialCapacity - the initial capacity of the list + * @throws IllegalArgumentException - if the specified initial capacity is negative + */ + public ArrayListASDV(int initialCapacity) { + if (initialCapacity < 0) { + throw new IllegalArgumentException("initialCapacity id negative: " + initialCapacity); + } + list = (E[]) new Object[initialCapacity]; + index = 0; + + } + + /** + * Double the size of the current list and copies to it the old list + * + * @return the new array. + */ + private E[] doubleSizeOfList() { + list = this.toArray((E[]) new Object[list.length + list.length]); + return this.list; + + } + + /** + * Constructs a list containing the elements of the specified collection, in the order they are returned by the collection's iterator. + * + * @param c - the collection whose elements are to be placed into this + * @throws NullPointerException - if the specified collection is null + * + * + */ + public ArrayListASDV(Collection c) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + /** + * Returns true if this collection changed as a result of the call. false if this collection does not permit duplicates and already contains the specified element. + * + * @param e - element whose presence in this collection is to be ensured + * + * @return true if this collection changed as a result of the call + * @throws ClassCastException - if the class of the specified element prevents it from being added to this collection + * @throws NullPointerException - if the specified element is null and this collection does not permit null elements + * @throws IllegalArgumentException - if some property of the element prevents it from being added to this collection + */ + @Override + public boolean add(E e) { + if (e == null) { + throw new NullPointerException("null parameter"); + } + + list[index++] = e; + if (index >= list.length * 0.75) { + doubleSizeOfList(); + } + return true; + } + + /** + * Returns the number of elements in this list. + * + * @return the number of elements in this list. + */ + @Override + public int size() { + return index; + } + + @Override + public String toString() { + String s = "ArrayListASDV["; + + for (int i = 0; i < index; ++i) { + s += list[i] + " "; + } + s += "]"; + + return s; + } + + /** + * Returns true if this list contains no elements. + * + * @return true if this list contains no elements + * + */ + @Override + public boolean isEmpty() { + return this.index == 0; + } + + /** + * Returns true if this list contains the specified element. More formally, returns true if and only if this list contains at least one element e such that (o==null ? e==null : o.equals(e)). + * + * @param o - element whose presence in this list is to be tested + * + * @return true if this list contains the specified element + * + */ + public boolean contains(Object o) { + + if (o == null) { + return false; + } + for (int i = 0; i < this.index; i++) { + if (o.equals(this.list[i])) { + return true; + } + } + return false; + + } + + /** + * Returns an array containing all of the elements in this list in proper sequence (from first to last element). The returned array will be "safe" in that no references to it are maintained by this list. (In other words, this method must allocate a new array). The caller is thus free to modify the returned array. This method acts as bridge between array-based and collection-based APIs. Returns: an array containing all of the elements in this list in proper sequence + * + * @return an array containing all of the elements in this list in proper sequence + */ + @Override + public Object[] toArray() { + Object[] returnArray = new Object[index]; + for (int i = 0; i < index; ++i) { + Object objCopy = list[i]; + returnArray[i] = objCopy; + } + return returnArray; + } + + /** + * Removes the first occurrence of the specified element from this list, if it is present. If the list does not contain the element, it is unchanged. More formally, removes the element with the lowest index i such that (o==null ? get(i)==null : o.equals(get(i))) (if such an element exists). Returns true if this list contained the specified element (or equivalently, if this list changed as a result of the call). + * + * @param o - element to be removed from this list, if present + * @return true if this list contained the specified element + */ + @Override + public boolean remove(Object o) { + if (o == null) { + return false; + } + Object[] newArray = new Object[index]; + int i = 0; + for (Object arrayElement : list) { + try { + if (!arrayElement.equals(o)) { + newArray[i] = arrayElement; + } + if ((index - 1) > i) { + ++i; + } + } catch (NullPointerException ex) { + continue; + } + + } + --index; + list = (E[]) newArray; + return true; + } + + /** + * Removes all of the elements from this list. The list will be empty after this call returns. Note: Traverse the array and set all of its elements to null. Set its index to zero. + */ + @Override + public void clear() { + for (int i = 0; i < list.length; ++i) { + list[i] = null; + } + index = 0; + } + + /** + * Returns the element at the specified position in this list. + * + * @param index of the element to return + * @return the element at the specified position in this list + * @throws IndexOutOfBoundsException - if the index is out of range (index GE 0 || index GE size()) + */ + @Override + public E get(int index) { + return list[index]; + } + + /** + * Replaces the element at the specified position in this list with the specified element. + * + * @param index - index of the element to replace + * @param element - element to be stored at the specified position + * @return the element previously at the specified position + * @throws IndexOutOfBoundsException - if the index is out of range (index GE 0 || index GE size()) + */ + @Override + public E set(int index, E element) { + return list[index] = element; + } + + /** + * Inserts the specified element at the specified position in this list. Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices). + * + * @param index - index at which the specified element is to be inserted element + * @param - element to be inserted + * @throws NullPointerException - if the specified element is null and this collection does not permit null elements + * @throws IndexOutOfBoundsException - if the index is out of range (index GE 0 || index GE size()) + */ + public void add(int index, E element) { + if (element == null) { + throw new NullPointerException("cant add null"); + } + if (index > this.index || index < 0) { + throw new IndexOutOfBoundsException("cant add at this index"); + } + + // Check if the list needs to be resized + if (this.index >= list.length) { + doubleSizeOfList(); + } + + // Shift elements to the right to make space for the new element + for (int i = this.index; i > index; i--) { + list[i] = list[i - 1]; + } + + // Insert the new element at the specified index + list[index] = element; + this.index++; + } + + /** + * Removes the element at the specified position in this list. Shifts any subsequent elements to the left (subtracts one from their indices). + * + * @param index - the index of the element to be removed + * @return the element that was removed from the list + * @throws IndexOutOfBoundsException - if the index is out of range (index GE 0 || index GE size()) + */ + public E remove(int index) { + Object removedObject = new Object(); + if (index < 0 || index >= this.index) { + throw new IndexOutOfBoundsException("Index " + index + " out of bounds"); + } + Object[] newArray = new Object[index]; + int j = 0; + for (int i = 0; i < index; ++i) { + try { + if (i != index) { + newArray[j] = list[i]; + } else { + removedObject = list[i]; + } + if ((index - 1) > j) { + ++j; + } + } catch (NullPointerException ex) { + continue; + } + + } + --this.index; + list = (E[]) newArray; + return (E) removedObject; + } + + /** + * Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element. More formally, returns the lowest index i such that (o==null ? get(i)==null : o.equals(get(i))), or -1 if there is no such index. Parameters: + * + * @param o - element to search for + * @return the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element + */ + @Override + public int indexOf(Object o) { + for (int i = 0; i < index - 1; i++) { + if (list[i].equals(o)) { + return i; + } + } + + return -1; + } + + /** + * Returns the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element. More formally, returns the highest index i such that (o==null ? get(i)==null : o.equals(get(i))), or -1 if there is no such index. Parameters: + * + * @param o - element to search for + * @return the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element + */ + @Override + public int lastIndexOf(Object o) { + for (int i = list.length - 1; i >= 0; i--) { + if (list[i] != null && list[i].equals(o)) { + return i; + } + } + return -1; + } + + /** + * Returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive. (If fromIndex and toIndex are equal, the returned list is empty.) The returned list is backed by this list, so non-structural changes in the returned list are reflected in this list, and vice-versa. The returned list supports all of the optional list operations. This method eliminates the need for explicit range operations (of the sort that commonly exist for arrays). Any operation that expects a list can be used as a range operation by passing a subList view instead of a whole list. For example, the following idiom removes a range of elements from a list: list.subList(from, to).clear(); + * + * Similar idioms may be constructed for ArrayList.indexOf(Object) and ArrayList.lastIndexOf(Object), and all of the algorithms in the Collections class can be applied to a subList. The semantics of the list returned by this method become undefined if the backing list (i.e., this list) is structurally modified in any way other than via the returned list. (Structural modifications are those that change the size of this list, or otherwise perturb it in such a fashion that iterations in progress may yield incorrect results.) + * + * @param fromIndex - low endpoint (inclusive) of the subList + * @param toIndex - high endpoint (exclusive) of the subList + * @return a view of the specified range within this list + * @throws IndexOutOfBoundsException - for an illegal endpoint index value (fromIndex LE 0 || toIndex > size || fromIndex > toIndex) + * @throws IllegalArgumentException - if the endpoint indices are out of order (fromIndex > toIndex) + */ + @Override + public List subList(int fromIndex, int toIndex) { + if (fromIndex < 0 || toIndex > size() || fromIndex > toIndex) { + throw new IndexOutOfBoundsException(); + } + List sublist = new ArrayListASDV<>(); + + for (int i = fromIndex; i < toIndex; i++) { + sublist.add(get(i)); + } + return sublist; + } + + /** + * Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array. If the list fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this list. If the list fits in the specified array with room to spare (i.e., the array has more elements than the list), the element in the array immediately following the end of the collection is set to null. (This is useful in determining the length of the list only if the caller knows that the list does not contain any null elements.) + * + * @param a - the array into which the elements of the list are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose. + * @return an array containing the elements of the list + * @throws ArrayStoreException - if the runtime type of the specified array is not a supertype of the runtime type of every element in this list + * @throws NullPointerException - if the specified array is null + */ + @Override + public T[] toArray(T[] a) { + Class clazz = a.getClass(); + //>length of a is too small + if (a.length < index) // Make a new array of a's runtime type + { + return (T[]) Arrays.copyOf(this.list, + index, + a.getClass()); + } + + //>length of a is good + System.arraycopy(this.list, 0, a, 0, index); + + //>length of a is greater than this list set nulls + if (a.length > index) { + for (int i = index; i < a.length; ++i) { + a[i] = null; + } + } + return a; + + } + + @Override + public Iterator iterator() { + Iterator it = new Iterator() { + int index = 0; + //E[] list = (E[]) new Object[3]; + + @Override + public boolean hasNext() { + if (index == list.length) { + return false; + } + return true; + } + + @Override + public E next() { + return list[index++]; + } + + @Override + public void remove() { + if (index < 1) { + Object[] newList = new Object[--index]; + for (int i = 0; i < index; i++) { + newList[i] = list[i]; + } + list = (E[]) newList; + } + } + + /** + * Performs the given action for each remaining element until all elements have been processed or the action throws an exception- Actions are performed in the order of iteration, if that order is specified- Exceptions thrown by the action are relayed to the caller. + * + * + * @throws NullPointerException - if the specified action is null + */ + @Override + public void forEachRemaining(Consumer action) { + if (action == null) { + throw new NullPointerException("Action is Null"); + } + + while (hasNext()) { + action.accept(next()); + } + } + + }; + return (Iterator) it; + } + + ; + + /** + * Returns a list iterator over the elements in this list (in proper sequence). The returned list iterator is fail-fast. + * + * + * @return a list iterator over the elements in this list (in proper sequence + */ + @Override + public ListIterator listIterator() { + return listIterator(0); + + } + + @Override + public ListIterator listIterator(int index) { + + ListIterator it = new ListIterator() { + //E[] list = (E[]) new Object[3]; + int index; + + /** + * Returns true if this list iterator has more elements when traversing the list in the forward direction. (In other words, returns true if ListIterator.next would return an element rather than throwing an exception.) + * + * @return true if the list iterator has more elements when traversing the list in the forward direction + */ + @Override + public boolean hasNext() { + return next() != null; + } + + /** + * Returns the next element in the list and advances the cursor position. This method may be called repeatedly to iterate through the list, or intermixed with calls to ListIterator.previous to go back and forth. (Note that alternating calls to next and previous will return the same element repeatedly.) + * + * @return the next element in the list + * @throws NoSuchElementException - if the iteration has no next element + */ + @Override + public E next() throws NoSuchElementException { + if (index > list.length) { + throw new NoSuchElementException(); + } + System.out.println("List iterator next() "+ list[index]); + return list[index++]; + } + + @Override + public boolean hasPrevious() { + return index > 0; + } + + @Override + public E previous() { + return list[--index]; + + } + + /** + * Returns the index of the element that would be returned by a subsequent call to next(). (Returns list size if the list iterator is at the end of the list.) + * + * @return the index of the element that would be returned by a subsequent call to next, or list size if the list iterator is at the end of the list + */ + @Override + public int nextIndex() { + return index + 1; + } + + /** + * Returns the index of the element that would be returned by a subsequent call to previous(). (Returns -1 if the list iterator is at the beginning of the list.) + * + * @return the index of the element that would be returned by a subsequent call to previous, or -1 if the list iterator is at the beginning of the list + */ + @Override + public int previousIndex() { + return index - 1; + } + + /** + * Performs the given action for each remaining element until all elements have been processed or the action throws an exception- Actions are performed in the order of iteration, if that order is specified- Exceptions thrown by the action are relayed to the caller. + * + * + * @throws NullPointerException - if the specified action is null + */ + @Override + public void forEachRemaining(Consumer action) { + if (action == null) { + throw new NullPointerException("Action is Null"); + } + + while (hasNext()) { + action.accept(next()); + } + } + + @Override + public void remove() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void set(E e) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + + @Override + public void add(E e) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } + }; + + return it; + + } + + /** + * + * Returns true if this collection contains all of the elements in the specified collection. + * + * Parameters: c - collection to be checked for containment in this collection Returns: true if this collection contains all of the elements in the specified collection Throws: ClassCastException - if the types of one or more elements in the specified collection are incompatible with this collection (optional) NullPointerException - if the specified collection contains one or more null elements and this collection does not permit null elements (optional), or if the specified collection is null. + * + * @param c - collection to be checked for containment in this collection + * @return true if this collection contains all of the elements in the specified collection. + * @throws ClassCastException - if the types of one or more elements in the specified collection are incompatible with this collection + */ + @Override + public boolean containsAll(Collection c) { + for (Object e : c) { + if (!contains(e)) { + return false; + } + } + return true; + } + + @Override + public boolean addAll(Collection c) { + boolean changed = false; + for (E e : c) { + if (add(e)) { + changed = true; + } + } + + return changed; + } + + @Override + public boolean addAll(int index, Collection c) { + boolean changed = false; + for (E e : c) { + add(index++, e); + changed = true; + } + return changed; + } + + /** + * Removes all of this collection's elements that are also contained in the specified collection (optional operation). After this call returns, this collection will contain no elements in common with the specified collection. + * + * Parameters: c - collection containing elements to be removed from this collection Returns: true if this collection changed as a result of the call Throws: UnsupportedOperationException - if the removeAll method is not supported by this collection ClassCastException - if the types of one or more elements in this collection are incompatible with the specified collection (optional) NullPointerException - if this collection contains one or more null elements and the specified collection does not support null elements (optional), or if the specified collection is null + * + * @param c - collection containing elements to be removed from this collection + * @return true if this collection changed as a result of the call + * @throws ClassCastException - if the types of one or more elements in this collection are incompatible with the specified collection + */ + @Override + public boolean removeAll(Collection c) { + Objects.requireNonNull(c); + + List elToKeep = new ArrayList<>(this); + elToKeep.removeAll(c); + elToKeep.removeIf(Objects::isNull); + + clear(); + addAll(elToKeep); + + return !elToKeep.isEmpty(); + } + + /** + * Retains only the elements in this collection that are contained in the specified collection (optional operation). In other words, removes from this collection all of its elements that are not contained in the specified collection. + * + * + * @param c - collection containing elements to be retained in this collection + * @return true if this collection changed as a result of the call + * @throws ClassCastException - if the types of one or more elements in this collection are incompatible with the specified collection (optional) + */ + @Override + public boolean retainAll(Collection c) { + Objects.requireNonNull(c); + + List elToKeep = new ArrayList<>(); + for (E element : this) { + if (c.contains(element)) { + elToKeep.add(element); + } + } + elToKeep.removeIf(Objects::isNull); + + clear(); + addAll(elToKeep); + + return size() != elToKeep.size(); + } + + public static void main(String[] args) + throws ClassNotFoundException, InterruptedException { + ArrayListASDV aaa = new ArrayListASDV(); + aaa.add(1); + aaa.add(2); + aaa.add(3); + aaa.add(4); + + ArrayListASDV list1 = new ArrayListASDV(); + ArrayListASDV list2 = new ArrayListASDV(4); + ArrayListASDV list3 = new ArrayListASDV(4); + + System.out.println("------------------------------ "); + System.out.println("test add"); + list1.add(10); + list1.add(20); + list3.add(new A1(-1)); + list3.add(new A1(-2)); + Integer[] b + = { + 2, 3 + }; + list1.toArray(b); + + list2.add("a"); + try { + list2.add(null); + } catch (NullPointerException e) { + System.err.println(e); + }; + + list2.add("b"); + list2.add("c"); + list2.add("d"); + System.out.println("------------------------------ "); + System.out.println("test toString"); + System.out.println(list1); + System.out.println(list2); + System.out.println(list3); + + System.out.println("------------------------------ "); + System.out.println("test contains"); + System.out.println("contains E"); + System.out.println("contains c: " + list2.contains("c")); + System.out.println("contains null: " + list2.contains(null)); + System.out.println("contains k: " + list2.contains('k')); + System.out.println(list2); + System.out.println("contains A(-1): " + list3.contains(new A1(-1))); + System.out.println("contains A(-3): " + list3.contains(new A1(-3))); + + System.out.println("------------------------------ "); + System.out.print("test toArray(): "); + Object[] ar = list2.toArray(); + System.out.print("[ "); + for (int i = 0; i < ar.length; ++i) { + System.out.print(ar[i] + " "); + } + System.out.println(" ] "); + + System.out.println("\n---------------------------------------"); + System.out.println("test clear()"); + list2.clear(); + System.out.println(list2); + + System.out.println("\n---------------------------------------"); + System.out.println("test size"); + System.out.println(list2.size()); + + System.out.println("\n---------------------------------------"); + System.out.println("test add(index, element)"); + for (char a = 'Z'; a >= 'A'; --a) { + System.out.println("array size: " + list2.size()); + list2.add(0, "" + a); + } + System.out.println(list2); + + list2.add(26, "z"); + System.out.println(list2); + + list2.add(list2.size() - 2, "y"); + System.out.println(list2); + + System.out.println("\n---------------------------------------"); + System.out.println("test remove(index)"); + Object o = list2.remove(27); + System.out.println(o); + System.out.println(list2); + + try { + list2.remove(30); + } catch (IndexOutOfBoundsException e) { + System.err.println(e); + } + + System.out.println("\n---------------------------------------"); + System.out.println("test remove(Object)"); + list2.remove("y"); + System.out.println(list2); + System.out.println(list2.remove("not in there")); + + System.out.println("\n---------------------------------------"); + System.out.println("test set(index, Object)"); + list2.set(0, "0"); + list2.set(25, "25"); + System.out.println(list2); + + System.out.println("\n---------------------------------------"); + System.out.println("test indexOf()"); + System.out.println(list2.indexOf("0")); + System.out.println(list2.indexOf("B")); + System.out.println(list2.indexOf("25")); + System.out.println(list2.indexOf("Y")); + System.out.println(list2.indexOf("not there")); + + System.out.println("\n---------------------------------------"); + System.out.println("test lastIndexOf()"); + list2.add(10, "0"); + System.out.println(list2.indexOf("0")); + System.out.println(list2.lastIndexOf("0")); + System.out.println(list2.indexOf("not there")); + System.out.println(list2); + + System.out.println("\n---------------------------------------"); + System.out.println("test sublist(from, to)"); + List l1 = list2.subList(1, 10); + ArrayListASDV l2 = (ArrayListASDV) list2.subList(11, 26); + + System.out.println(l1); + System.out.println(l2); + List l3 = l2.subList(11, 11); + System.out.println(l3); + try { + l2.subList(12, 11); + } catch (Exception e) { + System.err.println(e); + } + + System.out.println("\n---------------------------------------"); + System.out.println("test toArray()"); + Object[] ar1 = l2.toArray(); + for (Object obj : ar1) { + System.out.print(obj + " "); + } + + System.out.println("\n---------------------------------------"); + System.out.println("test toArray(T[] a) small size a"); + ArrayListASDV listX = new ArrayListASDV(); + listX.add(10); + listX.add(20); + Integer[] a1 + = { + 1 + }; + ar = listX.toArray(ar); + for (int i = 0; i < ar.length; ++i) { + System.out.println(ar[i]); + } + System.out.println("\n---------------------------------------"); + System.out.println("test toArray(T[] a) Big size a"); + ArrayListASDV listA1 = new ArrayListASDV(); + listA1.add(new A1(100)); + + A1[] a11 + = { + new A1(-1), new A1(-2), new A1(3) + }; + listA1.toArray(a11); + for (int i = 0; i < a11.length; ++i) { + System.out.println(a11[i]); + } + + System.out.println(""); + System.out.println("\n---------------------------------------"); + System.out.println("test Iterator()"); + + System.out.println(list2); + + Iterator it = list2.iterator(); + + while (it.hasNext()) { + System.out.print(it.next() + " "); + } + System.out.println(""); + + System.out.println("\n---------------------------------------"); + System.out.println("test ListIterator1()"); + ArrayListASDV li3 = new ArrayListASDV(); + li3.add(10); + li3.add(20); + li3.add(30); + li3.add(40); + System.out.println(li3); + ListIterator li = li3.listIterator(2); + while (li.hasNext()) { + System.out.print("\tnext index: " + li.nextIndex()); + System.out.print("\tprevious index: " + li.previousIndex()); + System.out.print("\t" + li.next()); + } + System.out.println(""); + while (li.hasPrevious()) { + System.out.print("\tnext index: " + li.nextIndex()); + System.out.print("\tprevious index: " + li.previousIndex()); + System.out.print("\t" + li.previous()); + } + System.out.println(""); + System.out.println("next index: " + li.nextIndex()); + System.out.println("previous index: " + li.previousIndex()); + + System.out.println("\n--------------------------removeAll-------------"); + System.out.println("test forEachRemaining()"); + System.out.println(li.next()); + li.forEachRemaining(new Consumer() { + @Override + public void accept(Integer t) { + System.out.print(t + 1 + " "); + } + }); + + System.out.println("\n---------------------------------------"); + System.out.println("test containsAll(Collection)"); + + List ar33 = Arrays.asList(new Integer[]{ + 10, 20 + }); + System.out.println(li3.containsAll(ar33)); + ar33 = Arrays.asList(new Integer[]{ + 10, -1 + }); + System.out.println(li3.containsAll(ar33)); + + System.out.println("\n---------------------------------------"); + System.out.println("test removeAll(Collection)"); + + li3.add(10); + li3.add(11); + li3.add(10); + System.out.println(li3); + ar33 = Arrays.asList(new Integer[]{ + 10 + }); + System.out.println(li3.removeAll(ar33)); + System.out.println(li3); + List oar = Arrays.asList(new Object[]{ + 3.3, 40, "abc" + }); + try { + li3.removeAll(oar); + } catch (ClassCastException e) { + Thread.sleep(100); + System.err.println(e); + } + System.out.println(li3); + List sar = Arrays.asList(new A1[]{ + new A1(999) + }); + try { + li3.removeAll(sar); + } catch (ClassCastException e) { + Thread.sleep(100); + System.err.println(e); + } + System.out.println(li3); + + System.out.println("\n---------------------------------------"); + System.out.println("test retainAll(Collection)"); + ar33 = Arrays.asList(new Integer[]{ + 30 + }); + li3.retainAll(ar33); + System.out.println(li3); + System.out.println("\n---------------------------------------"); + System.out.println("test addAll(Collection)"); + ar33 = Arrays.asList(new Integer[]{ + 1, 2, 3, 4 + }); + li3.addAll(ar33); + System.out.println(li3); + System.out.println("\n---------------------------------------"); + System.out.println("test addAll(index, Collection)"); + ar33 = Arrays.asList(new Integer[]{ + 100, 200, 300 + }); + li3.addAll(2, ar33); + System.out.println(li3); + } + +} + +class A1 implements Consumer { + + int x; + + public A1(int x) { + this.x = x; + } + + @Override + public String toString() { + return "A1{" + "x=" + x + '}'; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final A1 other = (A1) obj; + if (this.x != other.x) { + return false; + } + return true; + } + + @Override + public void accept(A1 t) { + System.out.println(t.x * t.x); + + } + +} diff --git a/Semester 3/Assignments/MP4_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/mp4_calebfontenot/MP4_CalebFontenot.java b/Semester 3/Assignments/MP4_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/mp4_calebfontenot/MP4_CalebFontenot.java new file mode 100644 index 0000000..9c7fdfc --- /dev/null +++ b/Semester 3/Assignments/MP4_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/mp4_calebfontenot/MP4_CalebFontenot.java @@ -0,0 +1,16 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + */ + +package edu.slcc.asdv.caleb.mp4_calebfontenot; + +/** + * + * @author caleb + */ +public class MP4_CalebFontenot { + + public static void main(String[] args) { + System.out.println("Hello World!"); + } +} diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A1.html b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A1.html new file mode 100644 index 0000000..ff02ed8 --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A1.html @@ -0,0 +1,72 @@ + + + +A1.java + + + + +
/home/caleb/ASDV-Java/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A1.java
+
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package edu.slcc.asdv.caleb.javafxballswithcomparator;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ *
+ * @author caleb
+ */
+public class A1 implements Comparable<A1> {
+    int x;
+    public A1() {}
+    public A1(int x) {this.x = x;}
+    @Override
+    public int compareTo(A1 o)
+    {
+        return this.x - o.x;
+    }
+
+    @Override
+    public String toString()
+    {
+        return "A1{" + "x=" + x + '}';
+    }
+    public static void main(String[] args)
+    {
+        System.out.println("Sorting in ascending order");
+        List<A1> list1 = Arrays.asList(new A1(3), new A1(), new A1(2));
+        
+        Collections.sort(list1);
+        System.out.println(list1);
+        
+        System.out.println("Sorting in descending order");
+        Collections.sort(list1, Collections.reverseOrder());
+        System.out.println(list1);
+    }
+}
+
+
+ diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A2.html b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A2.html new file mode 100644 index 0000000..5fe78d0 --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A2.html @@ -0,0 +1,90 @@ + + + +A2.java + + + + +
/home/caleb/ASDV-Java/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A2.java
+
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package edu.slcc.asdv.caleb.javafxballswithcomparator;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+/**
+ *
+ * @author caleb
+ */
+public class A2 {
+
+    int x;
+
+    public A2() {
+    }
+
+    public A2(int x) {
+        this.x = x;
+    }
+
+    @Override
+    public String toString() {
+        return "A2{" + "x=" + x + '}';
+    }
+
+    public static void main(String[] args) {
+        List<A2> list1 = Arrays.asList(new A2(4), new A2(), new A2(2));
+        Comparator<A2> c = new Comparator<A2>() {
+            @Override
+            public int compare(A2 o1, A2 o2) {
+                return o1.x - o2.x;
+            }
+        };
+        Comparator<A2> c2 = new Comparator<A2>() {
+            @Override
+            public int compare(A2 o1, A2 o2) {
+                int returnVal = 0;
+                if(o1.x > o2.x) {
+                    returnVal = -1;
+                } else {
+                    returnVal = 0;
+                }
+                return returnVal;
+            }
+        };
+        System.out.println("Sorting in ascending order");
+        Collections.sort(list1, c);
+        System.out.println(list1);
+        System.out.println("Sorting in desending order");
+        Collections.sort(list1,c2);
+        System.out.println(list1);
+    }
+
+}
+
+
+ diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A3.html b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A3.html new file mode 100644 index 0000000..d9c1b48 --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A3.html @@ -0,0 +1,93 @@ + + + +A3.java + + + + +
/home/caleb/ASDV-Java/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A3.java
+
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package edu.slcc.asdv.caleb.javafxballswithcomparator;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+/**
+ *
+ * @author caleb
+ */
+public class A3 {
+
+    int x;
+
+    public A3() {
+    }
+
+    public A3(int x) {
+        this.x = x;
+    }
+
+    @Override
+    public String toString() {
+        return "A2{" + "x=" + x + '}';
+    }
+
+    public static Comparator<A3> comparator() {
+        Comparator<A3> c = new Comparator<A3>() {
+            @Override
+            public int compare(A3 o1, A3 o2) {
+                return o1.x - o2.x;
+            }
+        };
+        return c;
+    }
+
+    public static Comparator<A3> comparatorReverse() {
+        Comparator<A3> c = new Comparator<A3>() {
+            @Override
+            public int compare(A3 o1, A3 o2) {
+                return o1.x > o2.x ? -1 : 0;
+            }
+        };
+        return c;
+    }
+
+    public static void main(String[] args) {
+        List<A3> list1 = Arrays.asList(new A3(4), new A3(), new A3(2));
+
+        System.out.println("Sorting in ascending order");
+        Collections.sort(list1, A3.comparator());
+        System.out.println(list1);
+        System.out.println("Sorting in desending order");
+        Collections.sort(list1, A3.comparatorReverse());
+        System.out.println(list1);
+    }
+
+}
+
+
+ diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A4.html b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A4.html new file mode 100644 index 0000000..4ef57b2 --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/A4.html @@ -0,0 +1,110 @@ + + + +A4.java + + + + +
/home/caleb/ASDV-Java/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A4.java
+
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package edu.slcc.asdv.caleb.javafxballswithcomparator;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+/**
+ *
+ * @author caleb
+ */
+public class A4<E extends Comparable<E>> {
+
+    E x;
+
+    public A4() {}
+    public A4(E x) {this.x = x;}
+
+    public static Comparator<A4> comparator() {
+        Comparator<A4> c = new Comparator<A4>() {
+            @Override
+            public int compare(A4 o1, A4 o2) {
+                return o1.x.compareTo(o2.x);
+            }
+        };
+        return c;
+    }
+        public static Comparator<A4> comparatorReverse() {
+        Comparator<A4> c = new Comparator<A4>() {
+            @Override
+            public int compare(A4 o1, A4 o2) {
+                switch (o1.x.compareTo(o2.x)) {
+                    case -1:
+                        return 1;
+                    case 0:
+                        return 0;
+                    case 1:
+                        return -1;
+                }
+                return -112315234;
+            }
+        };
+        return c;
+    }
+
+    @Override
+    public String toString() {
+        return "A4{" + "x=" + x + '}';
+    }
+
+    public static void main(String[] args) {
+        System.out.println("Sorting in ascending order");
+        List<A4> list1 = Arrays.asList(
+                new A4(new Integer(4)),
+                new A4(new Integer(1)),
+                new A4(new Integer(2))
+        );
+        Collections.sort(list1, A4.comparator());
+        List<A4> list2 = Arrays.asList(
+                new A4(new String("once")),
+                new A4(new String("upon")),
+                new A4(new String("a")),
+                new A4(new String("time")),
+                new A4(new String("in")),
+                new A4(new String("America"))
+        );
+        Collections.sort(list2, A4.comparator());
+        System.out.println(list1);
+        System.out.println(list2);
+        System.out.println("Now, in descending order:");
+        Collections.sort(list2, A4.comparatorReverse());
+        System.out.println(list2);
+        
+    }
+
+}
+
+
+ diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/Circle.html b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/Circle.html new file mode 100644 index 0000000..b731fca --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/Circle.html @@ -0,0 +1,75 @@ + + + +Circle.java + + + + +
/home/caleb/ASDV-Java/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/Circle.java
+
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package edu.slcc.asdv.caleb.javafxballswithcomparator;
+
+/**
+ *
+ * @author caleb
+ */
+public class Circle extends GeometricObject {
+  private double radius;
+
+  public Circle() {
+  }
+
+  public Circle(double radius) {
+    this.radius = radius;
+  }
+
+  /** Return radius */
+  public double getRadius() {
+    return radius;
+  }
+
+  /** Set a new radius */
+  public void setRadius(double radius) {
+    this.radius = radius;
+  }
+
+  @Override /** Return area */
+  public double getArea() {
+    return radius * radius * Math.PI;
+  }
+
+  /** Return diameter */
+  public double getDiameter() {
+    return 2 * radius;
+  }
+
+  @Override /** Return perimeter */
+  public double getPerimeter() {
+    return 2 * radius * Math.PI;
+  }
+
+  /* Print the circle info */
+  public void printCircle() {
+    System.out.println("The circle is created " + getDateCreated() +
+      " and the radius is " + radius);
+  }
+}
+
+
+ diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/GeometricObject.html b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/GeometricObject.html new file mode 100644 index 0000000..fef62e3 --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/GeometricObject.html @@ -0,0 +1,89 @@ + + + +GeometricObject.java + + + + +
/home/caleb/ASDV-Java/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObject.java
+
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package edu.slcc.asdv.caleb.javafxballswithcomparator;
+
+/**
+ *
+ * @author caleb
+ */
+public abstract class GeometricObject {
+  private String color = "white";
+  private boolean filled;
+  private java.util.Date dateCreated;
+
+  /** Construct a default geometric object */
+  protected GeometricObject() {
+    dateCreated = new java.util.Date();
+  }
+
+  /** Construct a geometric object with color and filled value */
+  protected GeometricObject(String color, boolean filled) {
+    dateCreated = new java.util.Date();
+    this.color = color;
+    this.filled = filled;
+  }
+
+  /** Return color */
+  public String getColor() {
+    return color;
+  }
+
+  /** Set a new color */
+  public void setColor(String color) {
+    this.color = color;
+  }
+
+  /** Return filled. Since filled is boolean,
+   *  the get method is named isFilled */
+  public boolean isFilled() {
+    return filled;
+  }
+
+  /** Set a new filled */
+  public void setFilled(boolean filled) {
+    this.filled = filled;
+  }
+
+  /** Get dateCreated */
+  public java.util.Date getDateCreated() {
+    return dateCreated;
+  }
+
+  @Override
+  public String toString() {
+    return "created on " + dateCreated + "\ncolor: " + color +
+      " and filled: " + filled;
+  }
+
+  /** Abstract method getArea */
+  public abstract double getArea();
+
+  /** Abstract method getPerimeter */
+  public abstract double getPerimeter();
+}
+
+
+
+ diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/GeometricObjectComparator.html b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/GeometricObjectComparator.html new file mode 100644 index 0000000..647945e --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/GeometricObjectComparator.html @@ -0,0 +1,42 @@ + + + +GeometricObjectComparator.java + + + + +
/home/caleb/ASDV-Java/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObjectComparator.java
+
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package edu.slcc.asdv.caleb.javafxballswithcomparator;
+
+/**
+ *
+ * @author caleb
+ */
+import java.util.Comparator;
+
+public class GeometricObjectComparator
+    implements Comparator<GeometricObject>, java.io.Serializable {
+  public int compare(GeometricObject o1, GeometricObject o2) {
+    return o1.getArea() > o2.getArea() ? 
+        1 : o1.getArea() == o2.getArea() ? 0 : -1;
+  }
+}
+
+
+ diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/MultipleBallsWithComparator.html b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/MultipleBallsWithComparator.html new file mode 100644 index 0000000..50fe89c --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/MultipleBallsWithComparator.html @@ -0,0 +1,209 @@ + + + +MultipleBallsWithComparator.java + + + + +
/home/caleb/ASDV-Java/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/MultipleBallsWithComparator.java
+
+package edu.slcc.asdv.caleb.javafxballswithcomparator;
+
+import javafx.animation.KeyFrame;
+import javafx.animation.Timeline;
+import javafx.application.Application;
+import javafx.beans.property.DoubleProperty;
+import javafx.geometry.Pos;
+import javafx.scene.Node;
+import javafx.stage.Stage;
+import javafx.scene.Scene;
+import javafx.scene.control.Button;
+import javafx.scene.control.ScrollBar;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.layout.HBox;
+import javafx.scene.layout.Pane;
+import javafx.scene.paint.Color;
+import javafx.scene.shape.Circle;
+import javafx.util.Duration;
+
+public class MultipleBallsWithComparator extends Application
+{
+
+    @Override // Override the start method in the Application class
+    public void start(Stage primaryStage)
+    {
+        MultipleBallPane ballPane = new MultipleBallPane();
+
+        Button btAdd = new Button("+");
+        Button btSubtract = new Button("-");
+        HBox hBox = new HBox(10);
+        hBox.getChildren().addAll(btAdd, btSubtract);
+        hBox.setAlignment(Pos.CENTER);
+
+        // Add or remove a ball
+        btAdd.setOnAction(e -> ballPane.add());
+        btSubtract.setOnAction(e -> ballPane.subtract());
+
+        // Pause and resume animation
+        ballPane.setOnMousePressed(e -> ballPane.pause());
+        ballPane.setOnMouseReleased(e -> ballPane.play());
+
+        // Use a scroll bar to control animation speed
+        ScrollBar sbSpeed = new ScrollBar();
+        sbSpeed.setMax(20);
+        sbSpeed.setValue(10);
+        ballPane.rateProperty().bind(sbSpeed.valueProperty());
+
+        BorderPane pane = new BorderPane();
+        pane.setCenter(ballPane);
+        pane.setTop(sbSpeed);
+        pane.setBottom(hBox);
+
+        // Create a scene and place the pane in the stage
+        Scene scene = new Scene(pane, 250, 150);
+        primaryStage.setTitle("Multiple Bouncing Balls"); // Set the stage title
+        primaryStage.setScene(scene); // Place the scene in the stage
+        primaryStage.show(); // Display the stage
+    }
+
+    private class MultipleBallPane extends Pane
+    {
+
+        private Timeline animation;
+
+        public MultipleBallPane()
+        {
+            // Create an animation for moving the ball
+            animation = new Timeline(
+                    new KeyFrame(Duration.millis(50), e -> moveBall()));
+            animation.setCycleCount(Timeline.INDEFINITE);
+            animation.play(); // Start animation
+        }
+
+        public void add()
+        {
+            Color color = new Color(Math.random(),
+                    Math.random(), Math.random(), 0.5);
+            getChildren().add(new Ball(30, 30, Math.random() * 16 + 5, color));
+        }
+
+        public void subtract()
+        {
+            if (getChildren().size() > 0)
+              {
+                    //> Locate the ball with the largest radius
+                Ball ball = (Ball) (getChildren().get(0));
+                for (Node node : getChildren())
+                  {
+                    if (((Ball) node).getRadius() > ball.getRadius())
+                      {
+                        ball = (Ball) node;
+                      }
+                  }
+
+                getChildren().remove(ball);
+              }
+        }
+
+        public void play()
+        {
+            animation.play();
+        }
+
+        public void pause()
+        {
+            animation.pause();
+        }
+
+        public void increaseSpeed()
+        {
+            animation.setRate(animation.getRate() + 0.1);
+        }
+
+        public void decreaseSpeed()
+        {
+            animation.setRate(
+                    animation.getRate() > 0 ? animation.getRate() - 0.1 : 0);
+        }
+
+        public DoubleProperty rateProperty()
+        {
+            return animation.rateProperty();
+        }
+
+        protected void moveBall()
+        {
+            for (Node node : this.getChildren())
+              {
+                Ball ball = (Ball) node;
+                // Check boundaries
+                if (ball.getCenterX() < ball.getRadius()
+                        || ball.getCenterX() > getWidth() - ball.getRadius())
+                  {
+                    ball.dx *= -1; // Change ball move direction
+                  }
+                if (ball.getCenterY() < ball.getRadius()
+                        || ball.getCenterY() > getHeight() - ball.getRadius())
+                  {
+                    ball.dy *= -1; // Change ball move direction
+                  }
+
+                // Adjust ball position
+                ball.setCenterX(ball.dx + ball.getCenterX());
+                ball.setCenterY(ball.dy + ball.getCenterY());
+              }
+        }
+    }
+
+    class Ball extends Circle implements Comparable<Ball>
+    {
+
+        private double dx = 1, dy = 1;
+
+        Ball(double x, double y, double radius, Color color)
+        {
+            super(x, y, radius);
+            setFill(color); // Set ball color
+        }
+
+        public int compareTo(Ball b)
+        {
+            if (this.getRadius() - b.getRadius() < 0)
+              {
+                return -1;
+              }
+            else if (this.getRadius() - b.getRadius() == 0)
+              {
+                return 0;
+              }
+            else
+              {
+                return 1;
+              }
+        }
+    }
+
+    /**
+     * The main method is only needed for the IDE with limited JavaFX support.
+     * Not needed for running from the command line.
+     */
+    public static void main(String[] args)
+    {
+        launch(args);
+    }
+}
+
+
+ diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/Rectangle.html b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/Rectangle.html new file mode 100644 index 0000000..4717af7 --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/Rectangle.html @@ -0,0 +1,76 @@ + + + +Rectangle.java + + + + +
/home/caleb/ASDV-Java/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/Rectangle.java
+
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package edu.slcc.asdv.caleb.javafxballswithcomparator;
+
+/**
+ *
+ * @author caleb
+ */
+public class Rectangle extends GeometricObject {
+  private double width;
+  private double height;
+
+  public Rectangle() {
+  }
+
+  public Rectangle(double width, double height) {
+    this.width = width;
+    this.height = height;
+  }
+
+  /** Return width */
+  public double getWidth() {
+    return width;
+  }
+
+  /** Set a new width */
+  public void setWidth(double width) {
+    this.width = width;
+  }
+
+  /** Return height */
+  public double getHeight() {
+    return height;
+  }
+
+  /** Set a new height */
+  public void setHeight(double height) {
+    this.height = height;
+  }
+
+  @Override /** Return area */
+  public double getArea() {
+    return width * height;
+  }
+
+  @Override /** Return perimeter */
+  public double getPerimeter() {
+    return 2 * (width + height);
+  }
+}
+
+
+
+ diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestArrayAndLinkedList.html b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestArrayAndLinkedList.html new file mode 100644 index 0000000..60afd77 --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestArrayAndLinkedList.html @@ -0,0 +1,68 @@ + + + +TestArrayAndLinkedList.java + + + + +
/home/caleb/ASDV-Java/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestArrayAndLinkedList.java
+
+package edu.slcc.asdv.caleb.javafxballswithcomparator;
+
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
+public class TestArrayAndLinkedList
+{
+
+    public static void main(String[] args)
+    {
+        List<Integer> arrayList = new ArrayList<>();
+        arrayList.add(1);
+        arrayList.add(2);
+        arrayList.add(3);
+        arrayList.add(1);
+        arrayList.add(4);
+        arrayList.add(0, 10);
+        arrayList.add(3, 30);
+
+        System.out.println("A list of integers in the array list:");
+        System.out.println(arrayList);
+
+        LinkedList<Object> linkedList = new LinkedList<>(arrayList);
+        linkedList.add(1, "red");
+        linkedList.removeLast();
+        linkedList.addFirst("green");
+
+        System.out.println("Display the linked list backward:");
+        ListIterator<Object> listIterator = linkedList.listIterator();
+        while (listIterator.hasNext())
+          {
+            System.out.print(listIterator.next() + " ");
+          }
+        System.out.println();
+
+        System.out.println("Display the linked list backward:");
+        listIterator = linkedList.listIterator(linkedList.size());
+        while (listIterator.hasPrevious())
+          {
+            System.out.print(listIterator.previous() + " ");
+          }
+    }
+}
+
+
+ diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestComparator.html b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestComparator.html new file mode 100644 index 0000000..bf03d4c --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestComparator.html @@ -0,0 +1,53 @@ + + + +TestComparator.java + + + + +
/home/caleb/ASDV-Java/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestComparator.java
+
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package edu.slcc.asdv.caleb.javafxballswithcomparator;
+
+/**
+ *
+ * @author caleb
+ */
+import java.util.Comparator;
+
+public class TestComparator {
+  public static void main(String[] args) {
+    GeometricObject g1 = new Rectangle(5, 5);
+    GeometricObject g2 = new Circle(5);
+
+    GeometricObject g = 
+      max(g1, g2, new GeometricObjectComparator());
+    
+    System.out.println("The area of the larger object is " + 
+      g.getArea());
+  }
+  
+  public static GeometricObject max(GeometricObject g1, 
+      GeometricObject g2, Comparator<GeometricObject> c) {
+        return c.compare(g1, g2) > 0 ? g1 : g2;
+  }
+}
+
+
+ diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestPriorityQueue.html b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestPriorityQueue.html new file mode 100644 index 0000000..d5e9447 --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestPriorityQueue.html @@ -0,0 +1,68 @@ + + + +TestPriorityQueue.java + + + + +
/home/caleb/ASDV-Java/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestPriorityQueue.java
+
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package edu.slcc.asdv.caleb.javafxballswithcomparator;
+
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.PriorityQueue;
+
+/**
+ *
+ * @author caleb
+ */
+public class TestPriorityQueue {
+    public static void main(String[] args) {
+        PriorityQueue<String> queue1 = new PriorityQueue<>();
+        queue1.offer("Oklahoma");
+        queue1.offer("Indiana");
+        queue1.offer("Georgia");
+        queue1.offer("Texas");
+        
+        System.out.println("Priority queue using Comparable:");
+        while (queue1.size() > 0) {
+            System.out.print(queue1.remove() + " ");
+        }
+        
+        Comparator<String> c = Collections.reverseOrder();
+        PriorityQueue<String> queue2 = new PriorityQueue<>(4, c);
+        queue2.offer("Oklahoma");
+        queue2.offer("Indiana");
+        queue2.offer("Georgia");
+        queue2.offer("Texas");
+        
+        System.out.println("\n\nPriority queue is using Comparator: ");
+        while (queue2.size() > 0) {
+            System.out.print(queue2.remove() + " ");
+        }
+    }
+}
+
+
+ diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestTheCollections.html b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestTheCollections.html new file mode 100644 index 0000000..316661d --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/Printed HTMLs/TestTheCollections.html @@ -0,0 +1,128 @@ + + + +TestTheCollections.java + + + + +
/home/caleb/ASDV-Java/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestTheCollections.java
+
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package edu.slcc.asdv.caleb.javafxballswithcomparator;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Random;
+
+/**
+ *
+ * @author caleb
+ */
+public class TestTheCollections {
+
+    public static void main(String[] args) {
+        System.out.println("Sorting in ascending order");
+        List<String> list1 = Arrays.asList("red", "green", "blue");
+        Collections.sort(list1);
+        System.out.println(list1);
+
+        System.out.println("Sorting in descending order");
+        List<String> list2 = Arrays.asList("yellow", "red", "green", "blue");
+        Collections.sort(list2);
+        System.out.println(list2);
+
+        System.out.println("\nBinary Search");
+        List<Integer> list3
+                = Arrays.asList(2, 4, 7, 10, 11, 45, 50, 59, 60, 66);
+        System.out.println(list3 + " 7 is at index: " + Collections.binarySearch(list3, 7));
+        System.out.println(list3 + " 9 is at index: " + Collections.binarySearch(list3, 9));
+        System.out.println(list3 + " 100 is at index: " + Collections.binarySearch(list3, 100));
+
+        List<String> list4 = new ArrayList<>();
+        list4.addAll(list1);
+        System.out.println(list4 + " red is at index: " + Collections.binarySearch(list4, "red"));
+        System.out.println(list4 + " amber is at index: " + Collections.binarySearch(list4, "amber"));
+        System.out.println(list4 + " brown is at index: " + Collections.binarySearch(list4, "brown"));
+
+        System.out.println("\nReverse the list");
+        List<String> list5 = new ArrayList<>();
+        list5.addAll(list2);
+        System.out.println("Original list: " + list5);
+        Collections.reverse(list5);
+        System.out.println("Reversed list: " + list5);
+
+        System.out.println("\nShuffle lists");
+        List<String> list6 = new ArrayList<>();
+        List<String> list7 = new ArrayList<>();
+        list6.addAll(list2);
+        list7.addAll(list2);
+
+        System.out.println("Original list: " + list6);
+        Collections.shuffle(list6, new Random(20));
+        System.out.println("Shuffled list: " + list6);
+
+        System.out.println("Original list: " + list7);
+        Collections.shuffle(list7, new Random(20));
+        System.out.println("Shuffled list: " + list7);
+        
+        List<String> list8 = new ArrayList<>();
+        list8.addAll(list2);
+        List<String> list9 = Arrays.asList("white", "black");
+        System.out.println("\nCopy into " + list8 + " the list " + list9);
+        Collections.copy(list8, list9);
+        System.out.println(list8);
+        System.out.println("The output for list 8 is [white, black, green, blue].\n"
+                         + "The copy method performs a \n"
+                         + "shallow copy: only the references of the elements fromt he source list are copied."
+        );
+        
+        List<String> list10 = new ArrayList<>();
+        list10.addAll(list1);
+        System.out.println("\nFill the list " + list10 + " with \'black\'.");
+        Collections.fill(list10, "black");
+        System.out.println(list10);
+        
+        
+        /*
+        The disjoint(collection1, collection2) method returns true if the two collections
+        have no elements in common. For example, in the following code, the disjoint(collection1,
+        collectio2) returns false, but the disjoint(collection1, collection3) returns true.
+        */
+        System.out.println("\nCollections.disjoints()");
+        Collection<String> collection1 = Arrays.asList("red", "cyan");
+        Collection<String> collection2 = Arrays.asList("red", "blue");
+        Collection<String> collection3 = Arrays.asList("pink", "tan");
+        System.out.println(Collections.disjoint(collection1, collection2));
+        System.out.println(Collections.disjoint(collection1, collection3));
+        
+        System.out.println("\nFrequency");
+        Collection<String> collection = Arrays.asList("red", "cyan", "red");
+        System.out.println(collection + " red occurs " + Collections.frequency(collection, "red") + " times.");
+
+    }
+}
+
+
+ diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/labChapter20.pdf b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/labChapter20.pdf similarity index 100% rename from Semester 3/Assignments/JavaFXBallsWithComparator/labChapter20.pdf rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/labChapter20.pdf diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/nb-configuration.xml b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/nb-configuration.xml similarity index 99% rename from Semester 3/Assignments/JavaFXBallsWithComparator/nb-configuration.xml rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/nb-configuration.xml index ab59f8c..4a9c8d7 100644 --- a/Semester 3/Assignments/JavaFXBallsWithComparator/nb-configuration.xml +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/nb-configuration.xml @@ -14,7 +14,7 @@ That way multiple projects can share the same settings (useful for formatting ru Any value defined here will override the pom.xml file value but is only applicable to the current project. --> [{"repository":"php","rule":"S3335"},{"repository":"php","rule":"S3336"},{"repository":"php","rule":"S2002"},{"repository":"php","rule":"S2005"},{"repository":"php","rule":"S3333"},{"repository":"php","rule":"S3334"},{"repository":"Web","rule":"ImgWithoutWidthOrHeightCheck"},{"repository":"php","rule":"S1151"},{"repository":"php","rule":"S3332"},{"repository":"php","rule":"S2001"},{"repository":"php","rule":"S2000"},{"repository":"typescript","rule":"S4798"},{"repository":"javascript","rule":"S3801"},{"repository":"typescript","rule":"S2138"},{"repository":"typescript","rule":"S2376"},{"repository":"java","rule":"S4288"},{"repository":"php","rule":"S5867"},{"repository":"java","rule":"S6211"},{"repository":"java","rule":"S2096"},{"repository":"java","rule":"S6212"},{"repository":"php","rule":"S2011"},{"repository":"typescript","rule":"S4328"},{"repository":"typescript","rule":"S4204"},{"repository":"typescript","rule":"S4324"},{"repository":"Web","rule":"PageWithoutFaviconCheck"},{"repository":"typescript","rule":"S4327"},{"repository":"typescript","rule":"S4326"},{"repository":"typescript","rule":"S3353"},{"repository":"typescript","rule":"S1172"},{"repository":"typescript","rule":"S2260"},{"repository":"java","rule":"S5128"},{"repository":"php","rule":"S2007"},{"repository":"php","rule":"S3337"},{"repository":"php","rule":"S3338"},{"repository":"javascript","rule":"S139"},{"repository":"javascript","rule":"S135"},{"repository":"javascript","rule":"S138"},{"repository":"javascript","rule":"S131"},{"repository":"javascript","rule":"S134"},{"repository":"javascript","rule":"S2817"},{"repository":"typescript","rule":"S3003"},{"repository":"typescript","rule":"S1067"},{"repository":"typescript","rule":"S1066"},{"repository":"Web","rule":"S1829"},{"repository":"java","rule":"S4174"},{"repository":"Web","rule":"IllegalTabCheck"},{"repository":"typescript","rule":"S3499"},{"repository":"typescript","rule":"S3257"},{"repository":"typescript","rule":"S1192"},{"repository":"typescript","rule":"S3498"},{"repository":"php","rule":"S5856"},{"repository":"java","rule":"S2063"},{"repository":"java","rule":"S3030"},{"repository":"java","rule":"S3032"},{"repository":"Web","rule":"DoubleQuotesCheck"},{"repository":"Web","rule":"MaxLineLengthCheck"},{"repository":"java","rule":"S105"},{"repository":"typescript","rule":"S1488"},{"repository":"Web","rule":"LongJavaScriptCheck"},{"repository":"java","rule":"S103"},{"repository":"Web","rule":"WmodeIsWindowCheck"},{"repository":"java","rule":"S104"},{"repository":"java","rule":"S109"},{"repository":"typescript","rule":"S3786"},{"repository":"javascript","rule":"S1821"},{"repository":"java","rule":"S113"},{"repository":"java","rule":"S4248"},{"repository":"php","rule":"S1105"},{"repository":"php","rule":"S1106"},{"repository":"php","rule":"S1121"},{"repository":"typescript","rule":"S3317"},{"repository":"typescript","rule":"S1131"},{"repository":"java","rule":"S2059"},{"repository":"java","rule":"S2057"},{"repository":"java","rule":"S6411"},{"repository":"php","rule":"S1117"},{"repository":"java","rule":"S3052"},{"repository":"typescript","rule":"S881"},{"repository":"php","rule":"S1451"},{"repository":"Web","rule":"NonConsecutiveHeadingCheck"},{"repository":"java","rule":"S126"},{"repository":"typescript","rule":"S5867"},{"repository":"java","rule":"S134"},{"repository":"java","rule":"S4266"},{"repository":"java","rule":"S2196"},{"repository":"java","rule":"S2197"},{"repository":"java","rule":"S118"},{"repository":"typescript","rule":"S1154"},{"repository":"java","rule":"S121"},{"repository":"java","rule":"S122"},{"repository":"php","rule":"S1578"},{"repository":"php","rule":"S5935"},{"repository":"java","rule":"S3047"},{"repository":"php","rule":"S4142"},{"repository":"typescript","rule":"S1441"},{"repository":"java","rule":"S2701"},{"repository":"typescript","rule":"S1440"},{"repository":"php","rule":"S881"},{"repository":"java","rule":"S138"},{"repository":"typescript","rule":"S3514"},{"repository":"java","rule":"S139"},{"repository":"typescript","rule":"S2427"},{"repository":"typescript","rule":"S3512"},{"repository":"typescript","rule":"S2424"},{"repository":"typescript","rule":"S3513"},{"repository":"typescript","rule":"S1451"},{"repository":"Web","rule":"IllegalNamespaceCheck"},{"repository":"xml","rule":"S3419"},{"repository":"typescript","rule":"S3525"},{"repository":"Web","rule":"WhiteSpaceAroundCheck"},{"repository":"typescript","rule":"S3402"},{"repository":"typescript","rule":"S1105"},{"repository":"typescript","rule":"S3524"},{"repository":"java","rule":"S3937"},{"repository":"xml","rule":"S1120"},{"repository":"java","rule":"S1996"},{"repository":"xml","rule":"S3420"},{"repository":"xml","rule":"S3423"},{"repository":"Web","rule":"InternationalizationCheck"},{"repository":"java","rule":"S6073"},{"repository":"css","rule":"S4664"},{"repository":"typescript","rule":"S2208"},{"repository":"typescript","rule":"S4622"},{"repository":"typescript","rule":"S3533"},{"repository":"php","rule":"S2070"},{"repository":"typescript","rule":"S1117"},{"repository":"typescript","rule":"S1116"},{"repository":"java","rule":"S2959"},{"repository":"typescript","rule":"S1110"},{"repository":"Web","rule":"S1436"},{"repository":"xml","rule":"S2321"},{"repository":"php","rule":"S2047"},{"repository":"php","rule":"S2046"},{"repository":"typescript","rule":"S1528"},{"repository":"php","rule":"S2043"},{"repository":"javascript","rule":"S117"},{"repository":"php","rule":"S2042"},{"repository":"php","rule":"S2044"},{"repository":"javascript","rule":"S113"},{"repository":"Web","rule":"MouseEventWithoutKeyboardEquivalentCheck"},{"repository":"javascript","rule":"S4139"},{"repository":"typescript","rule":"S1526"},{"repository":"typescript","rule":"S1525"},{"repository":"php","rule":"NoSonar"},{"repository":"typescript","rule":"S1539"},{"repository":"Web","rule":"IllegalTagLibsCheck"},{"repository":"php","rule":"S2050"},{"repository":"typescript","rule":"S1774"},{"repository":"javascript","rule":"S126"},{"repository":"typescript","rule":"S1530"},{"repository":"javascript","rule":"S121"},{"repository":"typescript","rule":"S1537"},{"repository":"typescript","rule":"S1535"},{"repository":"javascript","rule":"S122"},{"repository":"typescript","rule":"S909"},{"repository":"php","rule":"S5899"},{"repository":"java","rule":"S5194"},{"repository":"typescript","rule":"S3723"},{"repository":"php","rule":"S2260"},{"repository":"typescript","rule":"S1541"},{"repository":"java","rule":"S1711"},{"repository":"javascript","rule":"S1192"},{"repository":"php","rule":"S2278"},{"repository":"php","rule":"S2036"},{"repository":"php","rule":"S2277"},{"repository":"php","rule":"S1067"},{"repository":"php","rule":"S2038"},{"repository":"php","rule":"S2037"},{"repository":"javascript","rule":"S106"},{"repository":"javascript","rule":"S109"},{"repository":"php","rule":"S5783"},{"repository":"javascript","rule":"S3498"},{"repository":"javascript","rule":"S103"},{"repository":"javascript","rule":"S3499"},{"repository":"javascript","rule":"S105"},{"repository":"javascript","rule":"S104"},{"repository":"typescript","rule":"S1438"},{"repository":"java","rule":"S1939"},{"repository":"typescript","rule":"S3973"},{"repository":"javascript","rule":"S100"},{"repository":"java","rule":"S1821"},{"repository":"java","rule":"S1942"},{"repository":"java","rule":"S1943"},{"repository":"java","rule":"S1820"},{"repository":"java","rule":"S1941"},{"repository":"Web","rule":"HeaderCheck"},{"repository":"Web","rule":"UnclosedTagCheck"},{"repository":"typescript","rule":"S2817"},{"repository":"javascript","rule":"S3003"},{"repository":"typescript","rule":"S2933"},{"repository":"java","rule":"S2309"},{"repository":"php","rule":"S126"},{"repository":"css","rule":"S5362"},{"repository":"java","rule":"S4605"},{"repository":"java","rule":"S4604"},{"repository":"java","rule":"S2308"},{"repository":"xml","rule":"S3282"},{"repository":"php","rule":"S2918"},{"repository":"java","rule":"S2301"},{"repository":"java","rule":"S1696"},{"repository":"java","rule":"S1213"},{"repository":"typescript","rule":"S139"},{"repository":"java","rule":"S1698"},{"repository":"java","rule":"S1699"},{"repository":"php","rule":"S1820"},{"repository":"java","rule":"S3750"},{"repository":"javascript","rule":"S1172"},{"repository":"java","rule":"S1451"},{"repository":"php","rule":"S122"},{"repository":"java","rule":"S1694"},{"repository":"java","rule":"S1695"},{"repository":"php","rule":"S1821"},{"repository":"javascript","rule":"S2260"},{"repository":"javascript","rule":"S3353"},{"repository":"javascript","rule":"S4326"},{"repository":"Web","rule":"UnifiedExpressionCheck"},{"repository":"php","rule":"S134"},{"repository":"java","rule":"S1448"},{"repository":"java","rule":"S2658"},{"repository":"java","rule":"S1449"},{"repository":"java","rule":"S3749"},{"repository":"php","rule":"S139"},{"repository":"javascript","rule":"S1067"},{"repository":"javascript","rule":"S1066"},{"repository":"java","rule":"S1200"},{"repository":"Web","rule":"ComplexityCheck"},{"repository":"javascript","rule":"S2376"},{"repository":"typescript","rule":"S3801"},{"repository":"Web","rule":"RequiredAttributeCheck"},{"repository":"javascript","rule":"S2138"},{"repository":"php","rule":"S104"},{"repository":"java","rule":"S3658"},{"repository":"java","rule":"S2208"},{"repository":"java","rule":"S2444"},{"repository":"javascript","rule":"S1154"},{"repository":"java","rule":"S2203"},{"repository":"java","rule":"S2325"},{"repository":"java","rule":"S3414"},{"repository":"typescript","rule":"S2966"},{"repository":"java","rule":"S1106"},{"repository":"java","rule":"S1228"},{"repository":"java","rule":"S1107"},{"repository":"java","rule":"S1108"},{"repository":"java","rule":"S1109"},{"repository":"xml","rule":"S3373"},{"repository":"java","rule":"S1105"},{"repository":"javascript","rule":"S5867"},{"repository":"java","rule":"S4926"},{"repository":"java","rule":"S1774"},{"repository":"javascript","rule":"S1131"},{"repository":"javascript","rule":"S3798"},{"repository":"javascript","rule":"S3317"},{"repository":"Web","rule":"InputWithoutLabelCheck"},{"repository":"javascript","rule":"S881"},{"repository":"xml","rule":"S2260"},{"repository":"java","rule":"S1641"},{"repository":"java","rule":"S2972"},{"repository":"java","rule":"S2973"},{"repository":"java","rule":"S2974"},{"repository":"javascript","rule":"S3786"},{"repository":"javascript","rule":"S1488"},{"repository":"java","rule":"S923"},{"repository":"typescript","rule":"S1821"},{"repository":"javascript","rule":"S1117"},{"repository":"javascript","rule":"S1116"},{"repository":"java","rule":"S1315"},{"repository":"javascript","rule":"S1110"},{"repository":"java","rule":"S1312"},{"repository":"java","rule":"S1314"},{"repository":"java","rule":"S1310"},{"repository":"javascript","rule":"S3533"},{"repository":"javascript","rule":"S2208"},{"repository":"java","rule":"S1309"},{"repository":"java","rule":"S3725"},{"repository":"Web","rule":"DynamicJspIncludeCheck"},{"repository":"Web","rule":"InlineStyleCheck"},{"repository":"java","rule":"S1541"},{"repository":"java","rule":"S2260"},{"repository":"java","rule":"S2141"},{"repository":"php","rule":"S1311"},{"repository":"java","rule":"S2384"},{"repository":"javascript","rule":"S3760"},{"repository":"javascript","rule":"S3523"},{"repository":"javascript","rule":"S3402"},{"repository":"javascript","rule":"S3524"},{"repository":"javascript","rule":"S3525"},{"repository":"xml","rule":"S105"},{"repository":"typescript","rule":"S4157"},{"repository":"xml","rule":"S103"},{"repository":"java","rule":"S2148"},{"repository":"java","rule":"S2143"},{"repository":"java","rule":"S1176"},{"repository":"java","rule":"S1160"},{"repository":"php","rule":"S1200"},{"repository":"java","rule":"S2250"},{"repository":"java","rule":"S818"},{"repository":"java","rule":"S1162"},{"repository":"java","rule":"S4551"},{"repository":"java","rule":"S2131"},{"repository":"javascript","rule":"S1451"},{"repository":"javascript","rule":"S3512"},{"repository":"javascript","rule":"S2424"},{"repository":"javascript","rule":"S3513"},{"repository":"javascript","rule":"S3514"},{"repository":"javascript","rule":"S3757"},{"repository":"javascript","rule":"S3758"},{"repository":"javascript","rule":"S2427"},{"repository":"javascript","rule":"S2428"},{"repository":"javascript","rule":"S1105"},{"repository":"php","rule":"S5915"},{"repository":"php","rule":"S1314"},{"repository":"java","rule":"S1166"},{"repository":"php","rule":"S1799"},{"repository":"java","rule":"S5793"},{"repository":"java","rule":"S1194"},{"repository":"java","rule":"S2162"},{"repository":"java","rule":"S2164"},{"repository":"javascript","rule":"S1440"},{"repository":"javascript","rule":"S1441"},{"repository":"javascript","rule":"S1442"},{"repository":"Web","rule":"MultiplePageDirectivesCheck"},{"repository":"java","rule":"S3254"},{"repository":"java","rule":"S2047"},{"repository":"php","rule":"S1541"},{"repository":"java","rule":"S3242"},{"repository":"javascript","rule":"S3973"},{"repository":"javascript","rule":"S1438"},{"repository":"Web","rule":"LinkToNothingCheck"},{"repository":"java","rule":"S2039"},{"repository":"java","rule":"S1188"},{"repository":"java","rule":"S1067"},{"repository":"java","rule":"S2156"},{"repository":"java","rule":"S3366"},{"repository":"Web","rule":"LinksIdenticalTextsDifferentTargetsCheck"},{"repository":"java","rule":"S5970"},{"repository":"typescript","rule":"S100"},{"repository":"typescript","rule":"S103"},{"repository":"php","rule":"S1990"},{"repository":"typescript","rule":"S105"},{"repository":"typescript","rule":"S104"},{"repository":"javascript","rule":"S1541"},{"repository":"java","rule":"S864"},{"repository":"javascript","rule":"S3723"},{"repository":"java","rule":"S5979"},{"repository":"java","rule":"NoSonar"},{"repository":"java","rule":"S5977"},{"repository":"java","rule":"S5612"},{"repository":"java","rule":"S1258"},{"repository":"java","rule":"S3437"},{"repository":"Web","rule":"FileLengthCheck"},{"repository":"Web","rule":"JspScriptletCheck"},{"repository":"java","rule":"S2221"},{"repository":"java","rule":"S1132"},{"repository":"javascript","rule":"S909"},{"repository":"java","rule":"S3553"},{"repository":"typescript","rule":"S113"},{"repository":"javascript","rule":"S1530"},{"repository":"javascript","rule":"S1774"},{"repository":"javascript","rule":"S1535"},{"repository":"javascript","rule":"S1537"},{"repository":"javascript","rule":"S1539"},{"repository":"java","rule":"S3306"},{"repository":"typescript","rule":"S106"},{"repository":"java","rule":"S2698"},{"repository":"typescript","rule":"S109"},{"repository":"php","rule":"S1996"},{"repository":"php","rule":"S2964"},{"repository":"java","rule":"S2693"},{"repository":"java","rule":"S1120"},{"repository":"java","rule":"S2694"},{"repository":"java","rule":"S2211"},{"repository":"php","rule":"S1997"},{"repository":"java","rule":"S2333"},{"repository":"java","rule":"S1244"},{"repository":"typescript","rule":"S121"},{"repository":"java","rule":"S1151"},{"repository":"typescript","rule":"S122"},{"repository":"Web","rule":"IllegalElementCheck"},{"repository":"typescript","rule":"S126"},{"repository":"typescript","rule":"S4137"},{"repository":"java","rule":"S888"},{"repository":"javascript","rule":"S1525"},{"repository":"javascript","rule":"S1526"},{"repository":"typescript","rule":"S4139"},{"repository":"javascript","rule":"S1528"},{"repository":"javascript","rule":"S3827"},{"repository":"typescript","rule":"S4136"},{"repository":"java","rule":"S3578"},{"repository":"typescript","rule":"S117"},{"repository":"typescript","rule":"S131"},{"repository":"php","rule":"S2830"},{"repository":"typescript","rule":"S134"},{"repository":"typescript","rule":"S135"},{"repository":"typescript","rule":"S138"},{"repository":"typescript","rule":"S4023"},{"repository":"java","rule":"S881"},{"repository":"java","rule":"S5867"},{"repository":"java","rule":"S1147"},{"repository":"java","rule":"S1142"},{"repository":"php","rule":"S2701"}] - JDK_FX_17 + JDK_17 {} true diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/nbactions.xml b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/nbactions.xml similarity index 100% rename from Semester 3/Assignments/JavaFXBallsWithComparator/nbactions.xml rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/nbactions.xml diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/pom.xml b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/pom.xml similarity index 98% rename from Semester 3/Assignments/JavaFXBallsWithComparator/pom.xml rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/pom.xml index 9308376..18dcdc3 100644 --- a/Semester 3/Assignments/JavaFXBallsWithComparator/pom.xml +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/pom.xml @@ -2,7 +2,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 edu.slcc.asdv.caleb - JavaFXBallsWithComparator + lab7-chapter20_CalebFontenot 1.0-SNAPSHOT UTF-8 diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A1.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A1.java similarity index 100% rename from Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A1.java rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A1.java diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A2.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A2.java similarity index 51% rename from Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A2.java rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A2.java index b896474..a0df621 100644 --- a/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A2.java +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A2.java @@ -14,28 +14,47 @@ import java.util.List; * @author caleb */ public class A2 { + int x; - public A2() {} - public A2(int x) {this.x = x;} - + + public A2() { + } + + public A2(int x) { + this.x = x; + } + @Override - public String toString() - { + public String toString() { return "A2{" + "x=" + x + '}'; } - public static void main(String[] args) - { - System.out.println("Sorting in ascending order"); + + public static void main(String[] args) { List list1 = Arrays.asList(new A2(4), new A2(), new A2(2)); Comparator c = new Comparator() { @Override - public int compare(A2 o1, A2 o2) - { - return o1.x - o2.x; + public int compare(A2 o1, A2 o2) { + return o1.x - o2.x; } }; + Comparator c2 = new Comparator() { + @Override + public int compare(A2 o1, A2 o2) { + int returnVal = 0; + if(o1.x > o2.x) { + returnVal = -1; + } else { + returnVal = 0; + } + return returnVal; + } + }; + System.out.println("Sorting in ascending order"); Collections.sort(list1, c); System.out.println(list1); + System.out.println("Sorting in desending order"); + Collections.sort(list1,c2); + System.out.println(list1); } - + } diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A3.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A3.java new file mode 100644 index 0000000..0b5a542 --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A3.java @@ -0,0 +1,63 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package edu.slcc.asdv.caleb.javafxballswithcomparator; + +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +/** + * + * @author caleb + */ +public class A3 { + + int x; + + public A3() { + } + + public A3(int x) { + this.x = x; + } + + @Override + public String toString() { + return "A2{" + "x=" + x + '}'; + } + + public static Comparator comparator() { + Comparator c = new Comparator() { + @Override + public int compare(A3 o1, A3 o2) { + return o1.x - o2.x; + } + }; + return c; + } + + public static Comparator comparatorReverse() { + Comparator c = new Comparator() { + @Override + public int compare(A3 o1, A3 o2) { + return o1.x > o2.x ? -1 : 0; + } + }; + return c; + } + + public static void main(String[] args) { + List list1 = Arrays.asList(new A3(4), new A3(), new A3(2)); + + System.out.println("Sorting in ascending order"); + Collections.sort(list1, A3.comparator()); + System.out.println(list1); + System.out.println("Sorting in desending order"); + Collections.sort(list1, A3.comparatorReverse()); + System.out.println(list1); + } + +} diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A4.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A4.java new file mode 100644 index 0000000..a5dac58 --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/A4.java @@ -0,0 +1,80 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package edu.slcc.asdv.caleb.javafxballswithcomparator; + +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +/** + * + * @author caleb + */ +public class A4> { + + E x; + + public A4() {} + public A4(E x) {this.x = x;} + + public static Comparator comparator() { + Comparator c = new Comparator() { + @Override + public int compare(A4 o1, A4 o2) { + return o1.x.compareTo(o2.x); + } + }; + return c; + } + public static Comparator comparatorReverse() { + Comparator c = new Comparator() { + @Override + public int compare(A4 o1, A4 o2) { + switch (o1.x.compareTo(o2.x)) { + case -1: + return 1; + case 0: + return 0; + case 1: + return -1; + } + return -112315234; + } + }; + return c; + } + + @Override + public String toString() { + return "A4{" + "x=" + x + '}'; + } + + public static void main(String[] args) { + System.out.println("Sorting in ascending order"); + List list1 = Arrays.asList( + new A4(new Integer(4)), + new A4(new Integer(1)), + new A4(new Integer(2)) + ); + Collections.sort(list1, A4.comparator()); + List list2 = Arrays.asList( + new A4(new String("once")), + new A4(new String("upon")), + new A4(new String("a")), + new A4(new String("time")), + new A4(new String("in")), + new A4(new String("America")) + ); + Collections.sort(list2, A4.comparator()); + System.out.println(list1); + System.out.println(list2); + System.out.println("Now, in descending order:"); + Collections.sort(list2, A4.comparatorReverse()); + System.out.println(list2); + + } + +} diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/App.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/App.java similarity index 100% rename from Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/App.java rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/App.java diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/Circle.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/Circle.java similarity index 100% rename from Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/Circle.java rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/Circle.java diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObject.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObject.java similarity index 100% rename from Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObject.java rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObject.java diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObjectComparator.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObjectComparator.java similarity index 100% rename from Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObjectComparator.java rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObjectComparator.java diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/MultipleBallsWithComparator.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/MultipleBallsWithComparator.java similarity index 100% rename from Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/MultipleBallsWithComparator.java rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/MultipleBallsWithComparator.java diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/Rectangle.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/Rectangle.java similarity index 100% rename from Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/Rectangle.java rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/Rectangle.java diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/SystemInfo.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/SystemInfo.java similarity index 100% rename from Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/SystemInfo.java rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/SystemInfo.java diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestArrayAndLinkedList.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestArrayAndLinkedList.java similarity index 100% rename from Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestArrayAndLinkedList.java rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestArrayAndLinkedList.java diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestComparator.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestComparator.java similarity index 100% rename from Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestComparator.java rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestComparator.java diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestPriorityQueue.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestPriorityQueue.java new file mode 100644 index 0000000..40ae08c --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestPriorityQueue.java @@ -0,0 +1,40 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package edu.slcc.asdv.caleb.javafxballswithcomparator; + +import java.util.Collections; +import java.util.Comparator; +import java.util.PriorityQueue; + +/** + * + * @author caleb + */ +public class TestPriorityQueue { + public static void main(String[] args) { + PriorityQueue queue1 = new PriorityQueue<>(); + queue1.offer("Oklahoma"); + queue1.offer("Indiana"); + queue1.offer("Georgia"); + queue1.offer("Texas"); + + System.out.println("Priority queue using Comparable:"); + while (queue1.size() > 0) { + System.out.print(queue1.remove() + " "); + } + + Comparator c = Collections.reverseOrder(); + PriorityQueue queue2 = new PriorityQueue<>(4, c); + queue2.offer("Oklahoma"); + queue2.offer("Indiana"); + queue2.offer("Georgia"); + queue2.offer("Texas"); + + System.out.println("\n\nPriority queue is using Comparator: "); + while (queue2.size() > 0) { + System.out.print(queue2.remove() + " "); + } + } +} diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestTheCollections.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestTheCollections.java new file mode 100644 index 0000000..237509f --- /dev/null +++ b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/javafxballswithcomparator/TestTheCollections.java @@ -0,0 +1,100 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package edu.slcc.asdv.caleb.javafxballswithcomparator; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Random; + +/** + * + * @author caleb + */ +public class TestTheCollections { + + public static void main(String[] args) { + System.out.println("Sorting in ascending order"); + List list1 = Arrays.asList("red", "green", "blue"); + Collections.sort(list1); + System.out.println(list1); + + System.out.println("Sorting in descending order"); + List list2 = Arrays.asList("yellow", "red", "green", "blue"); + Collections.sort(list2); + System.out.println(list2); + + System.out.println("\nBinary Search"); + List list3 + = Arrays.asList(2, 4, 7, 10, 11, 45, 50, 59, 60, 66); + System.out.println(list3 + " 7 is at index: " + Collections.binarySearch(list3, 7)); + System.out.println(list3 + " 9 is at index: " + Collections.binarySearch(list3, 9)); + System.out.println(list3 + " 100 is at index: " + Collections.binarySearch(list3, 100)); + + List list4 = new ArrayList<>(); + list4.addAll(list1); + System.out.println(list4 + " red is at index: " + Collections.binarySearch(list4, "red")); + System.out.println(list4 + " amber is at index: " + Collections.binarySearch(list4, "amber")); + System.out.println(list4 + " brown is at index: " + Collections.binarySearch(list4, "brown")); + + System.out.println("\nReverse the list"); + List list5 = new ArrayList<>(); + list5.addAll(list2); + System.out.println("Original list: " + list5); + Collections.reverse(list5); + System.out.println("Reversed list: " + list5); + + System.out.println("\nShuffle lists"); + List list6 = new ArrayList<>(); + List list7 = new ArrayList<>(); + list6.addAll(list2); + list7.addAll(list2); + + System.out.println("Original list: " + list6); + Collections.shuffle(list6, new Random(20)); + System.out.println("Shuffled list: " + list6); + + System.out.println("Original list: " + list7); + Collections.shuffle(list7, new Random(20)); + System.out.println("Shuffled list: " + list7); + + List list8 = new ArrayList<>(); + list8.addAll(list2); + List list9 = Arrays.asList("white", "black"); + System.out.println("\nCopy into " + list8 + " the list " + list9); + Collections.copy(list8, list9); + System.out.println(list8); + System.out.println("The output for list 8 is [white, black, green, blue].\n" + + "The copy method performs a \n" + + "shallow copy: only the references of the elements fromt he source list are copied." + ); + + List list10 = new ArrayList<>(); + list10.addAll(list1); + System.out.println("\nFill the list " + list10 + " with \'black\'."); + Collections.fill(list10, "black"); + System.out.println(list10); + + + /* + The disjoint(collection1, collection2) method returns true if the two collections + have no elements in common. For example, in the following code, the disjoint(collection1, + collectio2) returns false, but the disjoint(collection1, collection3) returns true. + */ + System.out.println("\nCollections.disjoints()"); + Collection collection1 = Arrays.asList("red", "cyan"); + Collection collection2 = Arrays.asList("red", "blue"); + Collection collection3 = Arrays.asList("pink", "tan"); + System.out.println(Collections.disjoint(collection1, collection2)); + System.out.println(Collections.disjoint(collection1, collection3)); + + System.out.println("\nFrequency"); + Collection collection = Arrays.asList("red", "cyan", "red"); + System.out.println(collection + " red occurs " + Collections.frequency(collection, "red") + " times."); + + } +} diff --git a/Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/module-info.java b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/module-info.java similarity index 100% rename from Semester 3/Assignments/JavaFXBallsWithComparator/src/main/java/module-info.java rename to Semester 3/Assignments/lab7-chapter20_CalebFontenot/src/main/java/module-info.java diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A1.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A1.class new file mode 100644 index 0000000000000000000000000000000000000000..9ed3bfcd2f65b00b98e7a4d0dc86ddcc28c3eaa3 GIT binary patch literal 2234 zcmX^0Z`VEs1_oP(R4xW424;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3U()Ra>F;+*7U{lwywGX3PloYW+JkP&GWNr^c* z#pRhL8Oiy%1&Kw8CHY1Aj)sg3j1`OwjGjUa3=Dic4EziNj11zriP@>n`FY8SCE=MR z8P556#U+V(CB=*kq8gr>J|N>DE($Iw%FIi*=423J5N2l(;b9PE5JPctaAk2xYAz!K zbAD+FBZDYJYi7QFKv8C1NpML~YGST62ZID7gH&*SQAuWAxytc?D)=7zcwfBZD+jc%`JG2bdOvDG!4ggE=DuPf==FYEf~jKPV&_ z86-52o$L%x2w;a>f?RFI$e@YgEF@a*GgTaP}!Ir^}k%1GEtWrbr85vA9d`L}) z)|#H|3=WJ8BH$ncM;_Fwq?}Yn1{UZ1lvG9rexJ;|RKL>Pq|~C2M6iUAPkwS@PFP}5 zCWsFeWGTtWEM{adBHa~?42=1V3>+o-kd(v7AOZ_9u#+I7){G1+xrv#1j0|EZsRAmi z8OF%Kl30{p%*Y^&oM@oZj0~(fnZ+fBj0^%u;R=p^Mg}od?^G6~LcQdIrq+gZzu8&i zNK&4R44lE4>3NAIrA4WX3^5R^z#fLCIwTQ9tdQvhuHgLAqU2P!Oi;YCI~wYNVw{md zz$rh!q`0IgvA{RABqKkin4gUyf{P)NA&Q+L8dNaFFfyosltPN0%)GMv>{NY7m_o`b zx5VU<{Gv)mh8fTV4E6z3A;eIR#JrT8)M6E%{QT_F0&661K@36`LD3jeS&)h>30009 zz0jb7W-w&CofC6%f-_4}tvMLt7#Y|d4XZ0`8EY9Ccs%p+Qj45(5{rvdi`f|x85vYD zJc!NR>2qcE=~qd1}~@yTNv2DZVuYSASfihjX{!aF9Sy; z^KJ%?NVe?^^1+cTAm(-krQk?b5Q`NgxPw92M|%f@<|YO~?QIPDAgxB*7$miKFqrIM zuz-q!LWmh0#!3tv3=9kk3>*xK3XJ4Au;449*Pd3|e~hrG0>bV;h4tdT{cC4Tl5) vCo~9H7=pk770eIvg{!XOC%;xi?Q literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A2$1.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A2$1.class new file mode 100644 index 0000000000000000000000000000000000000000..93fe65abce426aaea3b0bbc80c51346546c0557c GIT binary patch literal 1043 zcmX^0Z`VEs1_oOO4K4;I24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3U()Ra>F;+*7U{lwywGX3PloYW+JkP&GWNr^c* z#pRhL8Oiy%1&Kw8CHY1Ajz)|Oj1`OwjGkN!d<^{T3<5k1f($~83`V4yqhiR&zz#7v zm60J`!-rG@tV!3Q>B-I@!pI;3@}GWbNoJ0|Gu&&83@pz1DXEMM{63j^seYxoNvTC4 ziAg!Bj0{3P`N@enVTnbVAU;%(r6eP>n32JRWLKydS~D^*<6T1w#F3E^kih<49-l?ODriZN@Zk-!BhefK?@2S(%ofe&B(wNoL^d$oa&Yd3Nv;` zBR!B485#Ip^OAG&i!<}meN#&^@>6&iR2Wnl8CY@?GxHc3#5AHIZUB2FxTGjEFWp)* zjFExEFSWSDBfq$Wk%7lEFE6#oIVZ8WIJKBTfq{>KiGh(pn1O+TnSlY6>KParL>U+u z^cff#7(pUh+Zh-)GB7YOF^DlRFtC9Il^Dbs7#MiKY*q#d21y1621ZcYg=+QyWg`X# z1}^O_4D32v7}!(RpqZcwHbDVwDHqfP1_mw$DF$hUp)a4=`}(9AMzs#=whiFtXElp$4-u$bqewXHWpsiVR8&3=Av`91O|~YG4r#26d2g L85kM(7{CAkm5%+s literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A2$2.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A2$2.class new file mode 100644 index 0000000000000000000000000000000000000000..5825991c80cf3ddad5a7df6269b3d93335beeef9 GIT binary patch literal 1122 zcmX^0Z`VEs1_oOOEiMKo24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3U()Ra>F;+*7U{lwywGX3PloYW+JkP&GWNr^c* z#pRhL8Oiy%1&Kw8CHY1Ajz)|Oj1`OwjGkN!d<^{T3<5k1f($~83`V4yqhiF!zz#7v zm60J`!-rG@tV!3Q>B-I@!pI;3@}GWbNoJ0|Gu&&83@pz1DXEMM{63j^seYxoNvTC4 ziAg!Bj0{3P`N@enVTnbVAU;%(r6eP>n32JRWLKydSu-*)k5Ybqyb||B#Y^HKvHBCnE!AaAta5Vo7OHDkDP-rV@w< zS}@s=?q)k{Mh33n{L-T2RJTk}c(OYh>4BWc$iVNKmz=Gona9W=rV$Ns1K2CUB}JKe>DHQIj0_xpsl_E8`NbuS3_PBBd8tLtIf=!^sl^Nm z415es42%rI3=9m+3=E(g!NABM%D}*&&%nsQ2ollS&cL{lfq{XEL5zWcfekFE!644S zz`z4$voc69NHQ=mFoM!GRC6^069Wqa1A`c|o%R+6cAYH@>`NFpnCzA_urk}pt^r#H zGEIzum4Sgln}LZzhk=(tmqCa@pFxDd5Nx^@#00463=ConQVh~y8^su87^E4P7?>DD z7-SiE7?>I47#JAX8JPYs2r)7WI5G$_$U_}s&cF=z7q6D~0R|480}LG77)sjsO4v literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A2.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A2.class new file mode 100644 index 0000000000000000000000000000000000000000..b90fe2df2dfd5f81952cadba16ba16854a1be887 GIT binary patch literal 2109 zcmX^0Z`VEs1_oP(crFGe24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3U()Ra>F;+*7U{lwywGX3PloYW+JkP&GWNr^c* z#pRhL8Oiy%1&Kw8CHY1Ajz)|Oj1`OwjGjUa3=Dic4EziNj11zriP@>n`FY8SCE=MR z8P556#U+V(CB=*kq8gr>J|N>DE($Iw%FIi*=3?Mr5CXYZn2~`+!&5U1B*4tYAjTlh z&LF|VAju#F^GIn)W{$pNQBh)LF(U(8VzEzVaS0=Xszx-DsStl!LoEX904cL(XOLlJ zFe251Du!GP(x4EPCr7gp7lRxFGbe)*gEBjV3J-%SgBr{$;5Z4cEG|jSWn^H^FD+qY z5QX?6GhaWTC^N4lxTGjGG1r=dL4%P&DmcHWBr`8vAu~@Qu{b$3F9pQOFG@)*;$qNZ z&}L`Q;bG8a&|_o}28S=I8H^0<1t1f1@<4F_u?1p3BnCi1Zopv3&S1pDV9a2`$RG+f z1RQqG`8heM$t9WjdBuzjEXDanC5#N38W1zU3c!Jj#CL|L4{MOQS`20&mzks442z{O z4hBn9@1>*`BYTgLfyFsLC6$qZ-zPIK)vq)+DYYmhF)1gNkwM5OKRGccEU_pP#D@y9 zlw@QUGcp+YkQ&q0j0_wl`H(cp$RMHtO+d)u#K^#so0yr$$RLK2;vjmgHNzMgSQ3lU ziy0Y&krO0TnvsDuC$qT3kdZ+EDYU?$$H>5#%*Y^yB#ab@j0{Z4Mj%-f&sG+sLOtw) zqzz=64e36&vu0%QLNW$nJDG-Y1?QI*C8xS&f})At(MS)Jo){Up{Zfldd{aSDSj@;E z;FOz73Mxy&7#UPR8X=`cW?or-cB(!kG$F-{ zTViraeo-YO!whJG1V8A&a1B45=(gMV5pr zM~+xn8b&e{YJ_uQPEK%UNvbsmLj)rOyQ5Kcg)L((BLk0TUS4XEb53G$acVI;Lo_3U zDuxHKxtpCKmXSdYzfwj9Hi#z~6d5=em>3us7#SEq#X1860}BHqs6Jp|WUyjjU@&H2 z1k15%ZD(NI$iTqB#9+<9zyPW`7#KttSQtbZY#10Acp!=xY#HpphOsgTLk)0aU;6oo#8q5Svp5+X8JwUdd}d%{U}0cjNMzf~z!Ay3n}H*eeLI6- za3l+ext&2IIFc2_Vg(8AU=a1$%^)4Qok7-jH-lW{b_NB%O$>@c>f0DJwRLtd=x<_B z)ZWHm3KFvbiRmK5K%Qj=2bmTF7Xt%>B7+8l5`zJQ27?8I34;TJDT6D68G{dlIYS78 z1w$l*B|`#(71;4w5C<|iGq^A?FlaDXGPp9hF)%V1Fc>npGk7pCF<3BYGI%n0FfcQC zF)%PFFfc<^dBautz*YG$Ff*_)_=1DUkHMdTfq{*Ii9wD*njwIJfq{d8ks*+Qks+KR al7WFiih-FyngIgjAQVFsLkvS4gCqc&SP-TF literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A3$1.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A3$1.class new file mode 100644 index 0000000000000000000000000000000000000000..615232584061ab372ce830015891a2f4873e36ca GIT binary patch literal 1051 zcmX^0Z`VEs1_oOO4K4;I24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3U()Ra>F;+*7U{lwywGX3PloYW+JkP&GWNr^c* z#pRhL8Oiy%1&Kw8CHY1Aj>e1(j1`OwjGkN!d<^{T3<5k1f($~83`V4yqhiR&zz#7v zm60J`!-rG@tV!3Q>B-I@!pI;3@}GWbNoJ0|Gu&&83@pz1DXEMM{63j^seYxoNvTC4 ziAg!Bj0{3P`N@enVTnbVAU;%(r6eP>n32JRWLKydS~D^*<6T1w#F3E^kih<49-l?ODriZN@Zk-!BhefK?@2S(%ofe&B(wNoL^d$oa&Yd3Nv;` zV?B@)85#Ip^OAG&i!<}meN#&^@>6&iR2Wnl8Mq*E4@y;x3=$feSY2Yx$iU&3T3q6h zUtGe-z~h;hms;eUlUQ7wTFjupz{kMEz{nuXz`(%FzyM1942%q-3=9nV42%qnAQ7$Y z42&BY7#Nrs#26SD*ua8{4B`w73_M^qD}w}sBm)BjBPb0+HG6=v69WSSm-ZG0cAYH@ z>?v!|Oi%%vpa8a%3u*!b0~do7gEZJwE(RF}X$B?%M+QL#S*WSz49sBlyjt1^7&vqe zFmP;R;6*nW*=f8`gIO8mz}Cw%D1d221|@;Uj0}7XU;qGZ C>j8NH literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A3$2.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A3$2.class new file mode 100644 index 0000000000000000000000000000000000000000..d5a31bcad12a828023c5f6699acdf0121934e868 GIT binary patch literal 1092 zcmX^0Z`VEs1_oOOO)dr|24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3U()Ra>F;+*7U{lwywGX3PloYW+JkP&GWNr^c* z#pRhL8Oiy%1&Kw8CHY1Aj>e1(j1`OwjGkN!d<^{T3<5k1f($~83`V4yqhiF!zz#7v zm60J`!-rG@tV!3Q>B-I@!pI;3@}GWbNoJ0|Gu&&83@pz1DXEMM{63j^seYxoNvTC4 ziAg!Bj0{3P`N@enVTnbVAU;%(r6eP>n32JRWLKydSu-*)k5Abqyb|pOB*68dF5mlaYZlI5Ryjv81#pm60I^Qwc-_Eof{=cc+~-BLi1( zerZv1s#_)~4A~ux^*~N!WZ-wrOU}tJ&df{qO)bgDPvK!uWl&>e5QL-!P$~;bElVvb zPGw|}(9p!{AZtbj4!_jm5|8}i5=I6d&%C_UBIlgM;^Nd|1_cH_1||kZ24MyU24)5Z zP^MsDWDsRwV9;k^WMBk|Xl-X;+{nPdz{DWNz`(!;7Sv`CXJBC90kc^dBp4(a7#J8q zNgJv;3Y5zj7#IY#w=l5lY++zu!obe7oPmXT4cH!pL3&_=6u@>1LJeYI5M+>IkOmtr z$RNWY&A`MU3vvkq6TbtafFpw-gB;Wza|ULxR$eXb0}LEG2N*cEG4O)yz~xw8s2!{f p@?bA1Ferj)B?e^%1_l-e4h9tlb+8Brg9ZZw0~Z4$10Mqz005|Y3oHNt literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A3.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A3.class new file mode 100644 index 0000000000000000000000000000000000000000..3ce2a7fd7912dbe26b6548bb14f1858e9f9b717a GIT binary patch literal 2407 zcmX^0Z`VEs1_oP(bS?%a24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3U()Ra>F;+*7U{lwywGX3PloYW+JkP&GWNr^c* z#pRhL8Oiy%1&Kw8CHY1Aj>e1(j1`OwjGjUa3=Dic4EziNj11zriP@>n`FY8SCE=MR z8P556#U+V(CB=*kq8gr>J|N>DE($Iw%FIi*W@iv$WH2JtW)(v&20@TlMaj`@#Kj=O zz|6(K!5{$&DM>~K77b6$FpvN<7lRCgEIWf74}&~|0xSqiOEPox9gB(*D~lN!*b<9< zGK)(X8B{f*k^BP*VQZ)t!8$<7tT`E!7?jx=RCpLv8Ps3~g5xB(vbZEQmyv-vzqEvr zK@?(EX1;zvQD$CAa7j^WVy-m@g9ammRB(P#NoHQULS~*qVsUb6UJ8hlUzCzs#KoY+ zpv}&p!^5DWY$xlwq2}>->1o5GQEF~G4#f%I_KBOj4 zYeoi+l6*)SXJin8g(GsfGcqtHGct%_4+@Y3ihC*xQlW10!m7iDbSK(bGcs@nXQt;R zmXsEyGBWtUTnUaRM7)q`G)rz`W*#Gh7)maIgow3f7$XBqVo`cABZDwcGV)W3`PmqvxEP`tV%QmCK_y-sBZCS^Bcx2r%qz>!PSuC_0#XRN zB_@~T7gaJc%z$PBa1wwjgc$0Pn3s~1TCC!epPyY?U=8seSQ*41WDyjNA(aKG$dXXy z$N>t=H%Nv;jc`uP$qCLZNwwx+NMK}OcQmT5uw|@eWZ?14%S$bC&PgmTPAz6YE z#qc0Dce693GBU{FSIWr12Js|=A_E5l69WSSBLf4d@?l_LU}Ine)mjXU42}#848{zM zU^!N;?F@_?85kIt7@Qaw7(f*q1A_5L3+4DL`fO`wkA(%Qnn zzKemEfnfvOWgzD>Fvx<nf zpny?_n*s_X4+c*L1_m#vZy_Sy3=9lDV7q-8I6;LSruia~+Zn_#&DUn&U@#=nd_M+% zXb5a)U;~F!DBE5Jj!5R+3>=Z{+Zn`zBUwPq?F>@Ek*pvVD@bq$gS5{k21OzDZ48>) zI~eqLFc@!QP}JVWUF;+*7U{lwywGX3PloYW+JkP&GWNr^c* z#pRhL8Oiy%1&Kw8CHY1AjwXx@j1`OwVm=@>5Nn(v(n&d~*4zwy4E*d20z3?Y3_^?y zBG?o$GH^l+Oby9rWDwOrG6~{fYfVos1`!5Pb_OvX25|-nMg}8N9jRi-$iNP@g^?j$ z!-rG@tV!3Q>B-I@1@m)hNoI~dG+;{dix?SLobyvs85#I}GV@aXN^_G^i$W5Ua#9%? zgnaUo6LZ26i!wocs31#8MrJW1g9*v5P%*S-WMIlSWMnWRSua?p5hH^-mMFm%NsJ7f z!I|lKi6x~)sf-LUm`WfbXhC5^y1VSG85y{O^Gl18Q{6H_VaD!gq6bP^j12s)dC58X z#hH2OzNsY{`6)aMS`6BZ3|x@72PIiX1_=#KtS+%;WZ>{iEiUoMFD_wZ;PK4MOD%HF zNh~f-EoM+)5Mf|qU}TVFU|?WoU;t$;21W*H1_lOw21W)(kcifH2F8sH3=B*RG7Jn1 zY+ykN23ZCM1|Be*l|ha{o`HdZ5tN3Zntecdm4ShQPkRdkyUrE{_MHs8Oblz#Opykg zq5!s-4{8bn10RC|gCf{uJ_aQQMFu7TM+R{QWvI#K49sBlyjt1^7&vqeFmP;R5Joo` w*?GKBgIO6=z}BlWsDWv91`P%V1{MYm22BPXum}f(E&~Gt7Xu@M2m=@Z0JOUu&;S4c literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A4$2.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A4$2.class new file mode 100644 index 0000000000000000000000000000000000000000..28c2cbf5415fde154a3e5897504ceb695dbcff44 GIT binary patch literal 1239 zcmX^0Z`VEs1_oOO11<(824;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SP6iGJPId+^9tLg(9!3U()Ra>F;+*7U{lwywGX3PloYW+JkP&GWNr^c* z#pRhL8Oiy%1&Kw8CHY1AjwXx@j1`OwVm=@>5Nn(v(n&d~*4zwy4E*d20z3?Y3_^?y zBG?o$GH^l+Oby9rWDwOrG6~{fYfVq)pMECuxEMqk#Ml|cc^D)ZBpDfuNOh@-5hDXT z)G9`XbPXR;4X`F%ho&bxgEY+Jr6rj;`q0oR$uDALU~$e*No8c<_sPsl^()OyN-YXW zOv*`RWDxSnPfpAUODxI+@u7k&B^jB;j0`3uyF$gtnvsDi-;j~Ph-AHBokoldyul@j z$=SY%1yIMRV~HnhF~`Wj8JwA(msnC-l*-5ugQ)}}f)+G3q`TA3nvsDkIKQ+gIn^x_ z6o%}MCVHUs#>l|$nwOlDU!0kj?weYYk)OiDpu?cc$RG$w3!roylvI2g1U^uQt<4EhWV3|tJ145A=!GB5xDb~Q2x literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A4.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/A4.class new file mode 100644 index 0000000000000000000000000000000000000000..0df3c7263aaf7ac8f591a60cca4f4058603b0728 GIT binary patch literal 2995 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 b$l%Ao$PmI1#=yY9#lXlA&Jf8E%^(Q?EZ*1@ literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/Circle.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/Circle.class new file mode 100644 index 0000000000000000000000000000000000000000..2b61b2d9dbaf9be12efebdf1d41d132c04f37a47 GIT binary patch literal 1715 zcmX^0Z`VEs1_oOOS1tx724;2!79Ivx1~x_p+tid&{o$c=%!i!lv1Vjo(QpA- z%9);85(JGYW(`djMh4Dega~_jYKdb}Y9b>8Hz-Uq6LV8bQi~WFc+yi#0#b`Ip&sTnv^BR_qMc zpxCfsWKaPqg(Q^Byt4f4RDDP=Ln6p6F}WnasFIOk268Au6+#U4NX$#gNiA0K$6M@ zkXfvd3`vO!j0%Z)DGDVSsS1$X0g_{6WZ?14%S$bC&PgmTPAz6DnA$)8PpjV7>pSh85kKD7+AHo zGcaysU|?Wk&|qL-02MV1415eM4Ezk53=9lB5Je1H4BBABSQ&Jn2DmXWGcbd6fDF)5 z-^##_Foh2+BgnwQAjH7QAPhE14D1{(s7WB3xWT3~GUzhsLCw@>V1n4EwS|FwJ={@j zU_o)PG3XA`hdam)>L4~W$3VO!!@$ZQ3pN4b5H`3&*udcf3Jn9eLo66rz;^P190J1G zA`JZ5=q^$On+I_bAJjZX21B?h#!yo@MHmFZhM*guhGYOI+yEoE0p?Hxcwq)$bA>jN zA-r%yj2S?o28wAXs39Vo7=*R9F-U@3vWr2MfnghiA|lElp=7`y%wU9Mo(R-DW(E^* fY?v~bK~s`B10#bigFPq#FfcMWFgP)|Fh~Lb@GWp2 literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObject.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObject.class new file mode 100644 index 0000000000000000000000000000000000000000..d0a0e82571aae871f36a984443c903db0452ad6d GIT binary patch literal 1817 zcmX^0Z`VEs1_oOOXD$XN24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00S4h9ZJ2G;V7%#u`21}+9}b_O0E23`g}Mh4r|lv4fToaAKv#Nw1P{p7@) z)Fge7X=xQni8(pN<(VZJ$@#ejiA9Me`9=Efsrk97B}JLZFl$(o^KR%)=nUAj-(Vosw9R>RgnXSdyB; z$RGeQ1+Ls0q*R=TL4rY&k%28OGbab6iZM!vfq_Aqhe3uxmXSd`H!(ZaIX^Esu_QdR zB*QsBuec;JucVlf!CV8~I0zpcPEbciX<~{oGO#%3r=&76@cU%urTUfTCZ!gIBqrsg zg1niZoR|}qSd%!As+z@Py3A;|R#U_UZ3 zFfynxs6y@6XJ7=oja6$41Lp>~N7%rEa$o}?j%S4$$jG3^pbph+$H2tE#K6G726iXH ziIBimW?*Gd0h=HOQ3W-Dfq@O`Bt`}e22H40$PN)(gXR!TurcTk(PGesYDPFj8YQeC z4$)&^WzYwkfawqk21#%T=rHI)%|dpF5PFChgN;FVh#ovRZJ-H7NNWoN2y<#}VG!HJ zAjQCdZjuF(NkWj2VPRy@XE0!3U}0o11knu43`XF9FlI1eU|`^2U}P|5U}UgnumvYj NMg}_u2L>kwNdV8$dYu3O literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObjectComparator.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/GeometricObjectComparator.class new file mode 100644 index 0000000000000000000000000000000000000000..553778e9eb87ef92252f90f3d325a0bca7d4ea03 GIT binary patch literal 1176 zcmX^0Z`VEs1_oOORW1f524;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00SE(Q(;PId+^9tLg(9!3V+)Ra>F;+*7U{lwywGX3PloYW+JkP&GWNr^c* z#pRhL8Oiy%1&Kw8CHY1A?y32?sU=03$uP6o(^E?vi&7K8hP!Yv@GvU zGPqM@xHH^ZMh13>8&Vk=8Z~?->1o5GQEF~G4 z#f%J|lsOjRGHXT#rhG$227Ag31RG<-$iN$1l9-(Bn^*vKuDXT~I6RP&oi(P2rY9o< zXK-eEUSdgUQ7R)tJ*E%QjC^^+F6BI*oXo(vUdU_zw zF(@+dF)%SOF$gn=GB7YOGcbZO90MbRI0FNNJ_92IBLf2itJZb~#*GXN3``6X3=9lx zU_o96Nd^W69x$7gL5e||fq{V$ltZAJOBh%fm>C!tl(e@ou|1Q`^dE-+_c2J7Y3(muezp>u$NV;ci6$TD2s;DuVk#GnZFtP+DVm{tJ* DT6{bC literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/MultipleBallsWithComparator$Ball.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/MultipleBallsWithComparator$Ball.class new file mode 100644 index 0000000000000000000000000000000000000000..f1424aa1c04b034ad2ce626577c92ae922545bde GIT binary patch literal 1572 zcmX^0Z`VEs1_oOOOHKwR24;2!79Ivx1~x_pztogc{oFr64gguS7opL|SWxf%Hi7Fi0^-Gcs_dr6VT=qc&iN^+j12rfnR%&xrMXF|MInh`X9)S^Cnx5FB^G6Z_)tL> zP%2?$2%vU|FfuTLqPUWgfvpG{C9KIHH!?Cv;dVbG17i{+18;CiVsf@`Vgb~RqL35- z30VK6tkmQZYfVo^2F~Ej^t{B9(xOyGhGtYlk&~h|SPG&W5iK^<_OYEcBLi1(erZv1 zs#_)~+710GWMBc6 z2@DDhObi?hj0_44%nVGRoXEhyzy!*E3=9GSpkj!Dfq|KUfq|PriGh(pnSp_!n}MBy zlYxOjUQ2r`1EZFP1d9aQb_RAW{;dqWAVN?}l4Bc#$VRY1Dhvz^VhpSd3=FdwSQ+Lp z@G;C_kYJe0AjdF|L6w1l!H$6qWE6uMgE|8U$b+q91dC}f2rw{#S(*$23@l)l7J~p( zhc<%_*x_;v@=%8rFtC8tD`{ z!x9DohGh(L3@aEE7}kK@CI&GL?lvU`T?TaqMg~0w29Qkx`~r>)at!)V+l?8R!0I`* zv=1;aZDWuDS;E8svV@HR1V`o%fP$@+=KDP{V}i8-lB`dNu( ziD?x{i8(pN<(VZJ$@#ejiA9Me`9=D^r8y;;1v#lsAi40&k_>0KoC>mBKw@4hBLiDW zMrN^!0V9LA57n%(=3?Mr;ACgu;$h%s;9+EtfH+paI5{;hRX-=OGQYG$A8Nf#W?p8A z9U}v?hGrN$10N%UBvf%?US@7$NoIbYen@6+YEEWeDm#M!HfitFO1GlK+*CFPPX;jH zVh~{vWoHoMVGw7KU}O-18dzGAnWOJgS_C$fk%28YGbbmrn2|wJ!$s2vn;L5&1_lNx z9tLR!8Ab-SjKsW@oK!}JN)74-6h?el!(EbEmYP?h?+PM4z&00Ivopxy@PAlhPH8F^ z13!ZTD8v;R83Hu0`v@kA#q?;H93tSoQ!BwHTWf}KG4L`dgA7+;WRTaut`-~%)|z3U zK5f_6og9$r>DG!4ggE=DuA1HqHa}x8? z^?egdG8h@yiW2iu@^iuI&V|kX0XX3>a4{G#Sc80N!^ps{;o{=r0;pNI0B_A%Y>2k%2iqwFIQy6A}w327uH>^Dx9P#4<8)WR|3YOGZWpF=&kG zgUbR>sJJyZLp(zQJ3}H5LlQ$WBZCmg?Wjr^8Q3!ti~Uk7O2F=j0_jNQVMt?0XJlZ> z0}G45%m$}2s7KftG8q{JLFT1ZK#M=W{FGEsBxUn3rlsl$w}VtX}|? z(s#)(P0E3*v<5l5k%yrPWH%QmE2QR?q!vYRF)%T-@G!K3ggMevOTsf#N-{VZ92weq z7&;g_85x*TDi|3UUD)=2K%~)L9)>=U28210Aaf@0FiZpqgF?k4H8VY<1Z2=;9)>9p zgDOF8n8w2}9pptWP(cB6gCoOC9)?+{!eArk@G#5;g&zkfKtZ{Ok-?9e8ACISk%7fI zKP8osf!`-HFV(L!Hz~C!1XKVpG6?zPCnx5FB^G6Z_)tL>P@T)j5JSs~gpq+Y8B`E5 zGDzXhwu}rM#idClMTyCvVm1%#2Vqp@pyX=J$iM<>X)rPbP|?YtsIX>a;0-QGOwRUA zEPw_MZ)RR{QEFmwYH&enY6>F*Z%Qf(pC>0VHz_4iB`>uc)NGN36d!37`j9%!5nKv` z>rHD=%rK@Rg#e}!Mh33n{L-T2RJTk}<*tC-Kq^LUJn4b5F(U(qUutoQM}Bb$JHs|c z22ZLL?2HToPWkyI#U(|F1-_{z8Tl#2{A>(6xfpga>}F@!!^5zbVIL!d637vdqAoM9 zEI&I{-v=BVzNsaNX^F`t`9+nC4BWZMyfcsxLeT`V0Mf81R`JQt&n_*n21h(ZS#U{F zW?nk72-G%+#*oT_RPrPtR^r!-T%JR%bxzF53C=7@wH9DFz{nsD@ew@EVX@86%5Vr& zh#cl&SjVtlfMGo&1CM83UTTqZPGWI!YB3{&0CN07TA(bTbjZ$dl953bBWxkQg}50O zOzaG&85!j8D`jM0gM=xA0s|8R2Ll5G69W^dLBzlyAOLFAGcYi4F)%W4Gt6UPWSGyu zz|g?J&A`OKz~H2%y_JDcYdZtG)@}ygNS3_}{E^JN8Tcbb7zB4P2y5+PkYr$B-pe4n zok2c$JA=|z234&s4601q7&JljHU`~|VA~denyw6NAQKrl8C)2o8C)5R7~B}F7~B~g z89W#kGB7akFffAU7cnemU|?Wm2mp(KTvNlq19pwgZU%$M9SlYgB*I{^ox#dSYa4^@ zZU)Cltt||UA`H$V49+_kj6@h*vqc!(leM=qc76g@J*=hk>2JmqCQV zkHMP3A8fxE#100C{UQt+3`-c6GB7eQGAx6;w=raCZ)3=sK97L|#PwPJ z|0c);?VSv{P%)C! z2KFff0|!RDfs!x-Ln;G1LmJpVNIY>s&1M9(2B4`1&5Qy>m_y9SVqj;;#%jhIxH}vf zSix==2Dt--w=oopFq9>4W2itkE}ub&p#aG^VYrjl!i_728mA003WT>Y6!T4=#~=u0 zi!hX>FK1xkgBlMBc}NN=VPIh>WsqkmVNhZyL$XF0Y7Hn(ng4#9EFfl?6*P0FR{J;kGXBCpkurOr-wGbfs86_Fmz$tDLD2;&Am5(+wT{UXM z(v`2y0R~4u-E9mFy4x7CX3S;~0kO5VF*Jkt>C@*i@aslyVQ3R!=*r&8(5AbMp$8-Z zRoJ7ojiDdJhbx=}Q8-CgcMDi`L-IC;sUXfIkk;gF3^SJhuK`5|B)p6mco-NM>KSAi z8X1%rni=#NS{UpZ+8DeUIv64tIvFw;x*19s`WYG-CNT6dOk|kIFbV8yP|8(e$N{HU zW(HY?LU0-el{=G=!dRSv?GFPNJ45_mP!}qLoxzb?hWiJDi~tj;ScL==gCzqaIQz0{ zZDW`Xav2ji4?)7%6>J+Mf3reOW?*1t*ub!nfsuiQVG}q`HZyDi(_0y~GeAnC9SqD2 o`xy>09AP*LF29%=m>9M)9AjW&aAerZaGZgG;RM4ehBFM303(@}e*gdg literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/MultipleBallsWithComparator.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/MultipleBallsWithComparator.class new file mode 100644 index 0000000000000000000000000000000000000000..0710da33b0cedc2a50b9d58f123e55dea56ee749 GIT binary patch literal 4421 zcmX^0Z`VEs1_oP(TU-oG49x5dEIbUX3~Y=Ha#@LGiD?!3i3J5YnaPPInfZD8jtDj* z1Dj1|US^3MBLlOBW*9pI2O~pNYD%eoaZYlweqwP-nSOF&PHK`q#F(VSoSfqF%#w`c z{M>@XqQsK?B7NV|oRZ9foKz=}TzFadF*1m1_<%I% z=OpH(>j#$asJ4F)~Pi2AmVqk_SapYle0x1zfC<#iY;LO0x z=3oL&cMKq&Cl7-cgES)pTXAZMZ(;>V$cKl)7bL_{oLUl=m{SVQbN)OG0StkR3_L}N zC8+^L`30#(C6$Z}8i)j$l$w}VtX}|?(s#)(P0E3*v<4X*%)<}@GK04aWGc)ME`~6M zaCU|W9)?JUC`JYqXd1$693uluQf6KXBZE3Td?D(=CL`qsu=~MzI|e;)pjpu=zbGZO z2vW2}Gca>8L^H(mFeES}GBR)$r zF$IY)Yt1l52A+bV%-qDHN@xs_4BIz|Q#P#p_O(2NW*)N>$aiO9&nnpENl3Orf3 zLqJIyt=6<=WZ+6F35JF|BLho@Q+@>_gA}SBXl?{mjMj_{?8QmJ1*xeij0_5>%3u{T zyhO8RWMC;s%uB^k2{jOry{$nZ400bM10vu+e0@mDW@KQ=P0Y+=WMD}wN-t()5XO?? z7#a9-5_6MM5>>!)rDDv;P)E~R2i5nPc?G2<`rwKIT>pR*1!F2BgFFFs=7FDduNm*u}-Ln_&+-!(JYS zeGK~<8I(YdfwZ48^UCtGQ}unoNy#_0Brz>9xg@`+l97Qs7nyekQUs%Df>;1)c@(So zCVGhhZJVY5|6Gj0{R}?U1SyOWxsUW4Hj)b&-c*6~k&q1|HA6ywoD+oW$bd)M7>k z0pyegDNk8I(ap|qjgdhWBQ_!73kfAy#IQ5mfHpf&!URPrBLf>G78w*78W@mEaB}80#+=$8AKyR z7{s?TNLsNj9k&EOolox#8Dg#2CE0bhF~mu-gCvq9*+H&I-OZ2@DakIvkR`&9vz;N&ibGqda2rFh zwj{?kh6?R%3^j=0h+`0EU|^79;AD_t5N42NkYkWz&|;8haAHtk@M2JA2w_lRh-Xk| z$Yju9C}z-RsA14yXkpN0=wZ-fn89Gcu#mx!VL5{l!#W0IhOG={496JE8O|_RFkE7= zWVps)1rFvINKit9nStRt!wiO*42%q%4CfeTG0bLQVi0CH!Z3$nE(0@z9K%kAc?@$I zSQxYz)-udzSir!_P{R<-u#jO90~^Ca1~Z1m3`-c;8ICasGAw0S#=ybA$*`QE1rlux z#_%}b!BCIzB&cuBz_6Wxg<%KSL9lpV!LX8nL4XUCj-duvGBAP@6RXxXhE{|DkVK;a z)+`250CqVj*|9RLVOYz+D8L2EL|BaJKsQF6fHCVCHefNP8{HTcoW^VfyJizsWBSmI zQO0Ks0}I1uaL(Dnuoawlm>9M(urusnU|`T$c|7#Ucc^HWk88TfrN^HTjvbCXhwLK2fe1_=4&Cnx5FB^G6Z_)tNXl8nq^ zMg~hCGTmj($iS-M;-VSG$iR`FS`rR%BeRC43nK$ZF|jO)&SC_c zJw3I=u_!f>k%1>YwIm?5C^I*;B(;cpSh85kKD7+AHoGcaxhD-&j5U;xEB0|P$; z3xfcI2m=EH4@41zD1#US1K0p@r~#1-%nYmy3=I4r1GLn)GO%lDZe`#_7$wBO!oa`) zB83?^8AKTP7(~HFDljmEv_XvoS;h^uh94At49pCS3=#~IP;2xVm>^Ej+QPuT9_~&y zu%IN^Ky)`sF-Su-+c7YMEn@?_58*V3FXb3m8RWqxh=GHQ4elg1aL|DQNCvAzc+nlA z3^oScA+p#Vf)qv&hiEXcGH8NLz;p;G?m!NagFD28fd%Y&E>MVQZDHWeMt6-a*er-^ nxS*b5WRQoOV8H+hK0Xl!0hl4l7^WB@nF5MCNCHp*M}Z;$rMI9S literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/SystemInfo.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/SystemInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..130b500e0d282256d53f3209a68e4dbc4add9489 GIT binary patch literal 613 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 literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/TestTheCollections.class b/Semester 3/Assignments/lab7-chapter20_CalebFontenot/target/classes/edu/slcc/asdv/caleb/javafxballswithcomparator/TestTheCollections.class new file mode 100644 index 0000000000000000000000000000000000000000..ff9095de6d6136084012b5efdcba9c4364b91347 GIT binary patch literal 4558 zcmX^0Z`VEs1_oP(n_LV`49x5dEIbUX3~Y=H0$GV=iTXK-dFlH8Nm;4MC5#MgHko;u zC3cJq%o>_uoD3Wcoa_u-JPh0nJSfV8D~n4~a~TsYP520t|xe3_?5%!VDse48mB< zU}Rt~0GXJR$H*Y60kH+_+~AU;%)E4K%`kQbF;s_vB{&!)7#Wz0Qd2k>q!<}k(~DA5 z^Een}7#UcSa!OOV7~~k_*%=gg7!(m2 z@Nqe1<|P(YDg>t{7A0q}GZ-^62!fpk4noholGJoiEEqAE@-Ub&m@_i4mnG(uruwHb zGKgt-LVby>7VJ?=9tJB0Yeoj1B(Uia!$Bd19x4z%SU=1co$iraAV9&@Po|~AR z>YSgKoLCZ`S(4$LpI2Oxm{(Ga%`6nxKqFs>fsw&hh=Ga0mYu;FmVUs23XVol$Z|0_ zF)(v8xG}i1GkEYYcrth~GVp<5rc?1Yt1Mj24)6Z4hCOF z2G+#fq|_oI1{M%MfRTYUsVKiZPl$mP#1Cd<5abF-_F{-h*a939dEiij z7-_8;Cd9x2azqv*18aFkW=SdsLk=haauSoXg%~&)@<5)PASt*PRvP7(g$Vsw2Gv}oSfqF z%#w`c{M>@XqQsK?BK?rm;*yYzRD>r%DbG1SC6$qZ-zPIK)vpwk(?b%Ia#9%?gnaUo z6LZ26i!wocs31#8MrJW1gOd-X7F#niu;eCY=7Gvx#Y(&kXw0!mvlGO&S-Heh7nPKH-yhKvki zNH!rt&>BUV5ema>v5AzX^XP_AHb=5@;i#kn|U3ef{4Cq@PVr~Leq;*z4o0$*^^QOwWAu#Jmh zJHrlkhMl0~yNi)Q1*8_~hqjmli5~jUkl|v zMg?%4iXnFlEC;S%G2~7#G6?t=Wu|B5CFX$3d$7w+F)|21tKSra=ov-^0cf3xBzlgK zL7dAuzo1efGp{6Hfe~DqgAzN)ix(IfOf;zY=QP<;OxWvdH%BTSH zRDN=DX;CrAh|Jv7Vm(F%9?!hI)FS7c#Ny)AVs?hBj0~z6sR3Igvol<0WRSzJl#ziA zk|G!s874C@f$MoD21ZbWo`I2JDgy(9J_92IBLf2itJZb~#*GXN3``8u7#JAXz=A>y z(-{~Tc))B{h8YYq85kHi8D=rehG=FrXJBREXJBCF+{C~x#Ji1wpKULLXe6_ccyJ_( zkYsQqtB`c?4hC5t?Hvrtn;6)&w=rmfRO)PF;Ae-Z)B~v$2dR_{j%0%<_tk+Y*MTZG z*v7ywz_pjbD3Y0V2ZKp)Bnvy3VikbUYyw!69G+ zVQ>mKffzd&Wc@ZVu1t#bS7TnF?6uF(j z#fn9eMSCZMD-%QbCI)s%7D*N%aj;fzuqv3C4_M3(Ma&;876=m)3fjiN4>Ofjl2r#` zD(fzW5U?^y)*TRgSa&f*fki;!8jYlp4Q2wnBpcKONp>g$efJ>4KDLlD$F_b}caS3JbU?>Oa;)3d`-p0TWwGN!{YQffVBMX6( zp%o8Qs2=2~MzAVgkU`v%JUbYgw=uLsIJ|I|&Sz zb{!}KF@rPED+VhD1_n_E4hAs>c?NL?Wd;cbEe0tDBL-;(KL#0wAO=~6NCtU^L|!usoXlX#IETTEaVdj2<2nXQ#@!57jHei^8LuF4^SQ!>E%x7R>jAC5Ru$W;!11sZX z#xjN_4D%V-80RqNGAw17&%n;a$;iO4jA1?l2a_tp6Ncps^BFjqLKwC(tYDbWz{NC$ zp_E}I!zu=DrsWJt467MdG4L?$V(@2J!?22hm+1?GD8pKYRSbL#>lhdq`WX12Zdwm_ z(|Wj@Ho)Dq9`2^~a5t@oyJg2bZ4 zlKdiJ22Mr>PLL^jNr}a&j0|js=6VKt7QzfXj12rB@w5uP - JDK_20 + Graal_JDK_20 diff --git a/Semester 3/MP4_Generics_CalebFontenot/pom.xml b/Semester 3/MP4_Generics_CalebFontenot/pom.xml index a121d6e..fb9efb8 100644 --- a/Semester 3/MP4_Generics_CalebFontenot/pom.xml +++ b/Semester 3/MP4_Generics_CalebFontenot/pom.xml @@ -7,8 +7,8 @@ jar UTF-8 - 20 - 20 + 17 + 17 com.calebfontenot.mp4_generics_calebfontenot.MP4_Generics_CalebFontenot \ No newline at end of file diff --git a/Semester 3/MP4_Generics_CalebFontenot/src/main/java/com/calebfontenot/mp4_generics_calebfontenot/ArrayListASDV.java b/Semester 3/MP4_Generics_CalebFontenot/src/main/java/com/calebfontenot/mp4_generics_calebfontenot/ArrayListASDV.java index fcaa8bd..63a820b 100644 --- a/Semester 3/MP4_Generics_CalebFontenot/src/main/java/com/calebfontenot/mp4_generics_calebfontenot/ArrayListASDV.java +++ b/Semester 3/MP4_Generics_CalebFontenot/src/main/java/com/calebfontenot/mp4_generics_calebfontenot/ArrayListASDV.java @@ -75,11 +75,16 @@ public class ArrayListASDV * @throws IllegalArgumentException - if some property of the element prevents it from being added to this collection */ @Override - public boolean add(E e) - { - - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + public boolean add(E e) { + if (e == null) { + throw new NullPointerException(); + } + list[index++] = e; + if (index >= list.length * 0.75) { + doubleSizeOfList(); + } + return true; } /** diff --git a/Semester 3/MP4_Generics_CalebFontenot/src/main/java/com/calebfontenot/mp4_generics_calebfontenot/IteratorASDV.java b/Semester 3/MP4_Generics_CalebFontenot/src/main/java/com/calebfontenot/mp4_generics_calebfontenot/IteratorASDV.java index db94c85..1d52634 100644 --- a/Semester 3/MP4_Generics_CalebFontenot/src/main/java/com/calebfontenot/mp4_generics_calebfontenot/IteratorASDV.java +++ b/Semester 3/MP4_Generics_CalebFontenot/src/main/java/com/calebfontenot/mp4_generics_calebfontenot/IteratorASDV.java @@ -46,7 +46,7 @@ public class IteratorASDV { }; return (IteratorASDV) it; - } + }; public static void main(String[] args) { IteratorASDV ti = new IteratorASDV(); @@ -58,4 +58,5 @@ public class IteratorASDV { System.out.println(it.next()); } } +} diff --git a/Semester 3/ZIPs/MP4_CalebFontenot.zip b/Semester 3/ZIPs/MP4_CalebFontenot.zip new file mode 100644 index 0000000000000000000000000000000000000000..7cccd1c39663e8341046f472340ea013283670de GIT binary patch literal 20476 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 NFic`)UcOkOY|XH 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