diff --git a/modern-java/.gitignore b/modern-java/.gitignore new file mode 100644 index 0000000..528c507 --- /dev/null +++ b/modern-java/.gitignore @@ -0,0 +1,39 @@ +.project +.settings/ +HELP.md +.gradle +build/ +!gradle/wrapper/gradle-wrapper.jar +!**/src/main/**/build/ +!**/src/test/**/build/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + +### VS Code ### +.vscode/ \ No newline at end of file diff --git a/modern-java/build.gradle b/modern-java/build.gradle new file mode 100644 index 0000000..a171cc6 --- /dev/null +++ b/modern-java/build.gradle @@ -0,0 +1,34 @@ +plugins { + id 'java-library' +} + +configurations { + compileOnly { + extendsFrom annotationProcessor + } +} + +repositories { + mavenCentral() +} + +allprojects { + group = "${group}" + version = "${version}" +} +sourceCompatibility = "${javaVersion}" +targetCompatibility = "${javaVersion}" + +dependencies { + + compileOnly 'org.projectlombok:lombok:'+"${lombookVersion}" + annotationProcessor 'org.projectlombok:lombok:'+"${lombookVersion}" + testCompile 'org.junit.jupiter:junit-jupiter-api:'+"${junitJupiterVersion}" + testCompile 'org.junit.jupiter:junit-jupiter-engine:'+"${junitJupiterVersion}" + testImplementation 'org.assertj:assertj-core:'+"${assertJVersion}" + +} + +test { + useJUnitPlatform() +} diff --git a/modern-java/gradle.properties b/modern-java/gradle.properties new file mode 100644 index 0000000..e11cd64 --- /dev/null +++ b/modern-java/gradle.properties @@ -0,0 +1,11 @@ +# This is definition of service and version, you can change here +group=com.pratap +version=1.0.0-SNAPSHOT +serviceName=modern-java +# Version dependencies for PowerMockito and JUnit +junitJupiterVersion=5.7.0 +lombookVersion=1.18.20 +assertJVersion=3.19.0 + +#Constant for projects, all below are for plugins version and build +javaVersion=17.0.1 \ No newline at end of file diff --git a/modern-java/gradle/wrapper/gradle-wrapper.jar b/modern-java/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..cc4fdc2 Binary files /dev/null and b/modern-java/gradle/wrapper/gradle-wrapper.jar differ diff --git a/modern-java/gradle/wrapper/gradle-wrapper.properties b/modern-java/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..a834b08 --- /dev/null +++ b/modern-java/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +#distributionUrl=https\://services.gradle.org/distributions/gradle-6.0-bin.zip +distributionUrl=file\:/c:/Users/naray/.gradle/wrapper/dists/gradle-6.9-all.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/modern-java/gradlew b/modern-java/gradlew new file mode 100644 index 0000000..2fe81a7 --- /dev/null +++ b/modern-java/gradlew @@ -0,0 +1,183 @@ +#!/usr/bin/env sh + +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=`expr $i + 1` + done + case $i in + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=`save "$@"` + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +exec "$JAVACMD" "$@" diff --git a/modern-java/gradlew.bat b/modern-java/gradlew.bat new file mode 100644 index 0000000..9618d8d --- /dev/null +++ b/modern-java/gradlew.bat @@ -0,0 +1,100 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/modern-java/notes/Java-8.pdf b/modern-java/notes/Java-8.pdf new file mode 100644 index 0000000..86ddfcf Binary files /dev/null and b/modern-java/notes/Java-8.pdf differ diff --git a/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/1.JAVA-8-Features.pdf b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/1.JAVA-8-Features.pdf new file mode 100644 index 0000000..3dde219 Binary files /dev/null and b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/1.JAVA-8-Features.pdf differ diff --git a/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/2.Lambda-Expressions-with-Collections-udemy.pdf b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/2.Lambda-Expressions-with-Collections-udemy.pdf new file mode 100644 index 0000000..7ccaad1 Binary files /dev/null and b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/2.Lambda-Expressions-with-Collections-udemy.pdf differ diff --git a/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/3.Predicate-Study-Material-2.pdf b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/3.Predicate-Study-Material-2.pdf new file mode 100644 index 0000000..eb7e11b Binary files /dev/null and b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/3.Predicate-Study-Material-2.pdf differ diff --git a/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/4.Functions-Study-Material-2.pdf b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/4.Functions-Study-Material-2.pdf new file mode 100644 index 0000000..a14446b Binary files /dev/null and b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/4.Functions-Study-Material-2.pdf differ diff --git a/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/5.Consumer-Study-Material-2.pdf b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/5.Consumer-Study-Material-2.pdf new file mode 100644 index 0000000..c79c016 Binary files /dev/null and b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/5.Consumer-Study-Material-2.pdf differ diff --git a/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/6.Supplier-Study-Material-2.pdf b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/6.Supplier-Study-Material-2.pdf new file mode 100644 index 0000000..71ef4e0 Binary files /dev/null and b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/6.Supplier-Study-Material-2.pdf differ diff --git a/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/7.Java-8-New-Features-in-Simple-Way-Two-Argument-Bi-Functional-Interfaces.pdf b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/7.Java-8-New-Features-in-Simple-Way-Two-Argument-Bi-Functional-Interfaces.pdf new file mode 100644 index 0000000..d41ab81 Binary files /dev/null and b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/7.Java-8-New-Features-in-Simple-Way-Two-Argument-Bi-Functional-Interfaces.pdf differ diff --git a/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/8.Java-8-New-Features-in-Simple-Way-Primitive-Type-Functional-Interfaces.pdf b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/8.Java-8-New-Features-in-Simple-Way-Primitive-Type-Functional-Interfaces.pdf new file mode 100644 index 0000000..cc5a73f Binary files /dev/null and b/modern-java/notes/java8_new_features_in_simple_way_complete_study_material/8.Java-8-New-Features-in-Simple-Way-Primitive-Type-Functional-Interfaces.pdf differ diff --git a/modern-java/settings.gradle b/modern-java/settings.gradle new file mode 100644 index 0000000..c87c12c --- /dev/null +++ b/modern-java/settings.gradle @@ -0,0 +1,10 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user manual at https://docs.gradle.org/6.0/userguide/multi_project_builds.html + */ + +rootProject.name = 'modern-java8' diff --git a/modern-java/src/main/java/com/pratap/comparision/Laptop.java b/modern-java/src/main/java/com/pratap/comparision/Laptop.java new file mode 100644 index 0000000..0b1c20d --- /dev/null +++ b/modern-java/src/main/java/com/pratap/comparision/Laptop.java @@ -0,0 +1,21 @@ +package com.pratap.comparision; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Laptop implements Comparable { + + private String brand; + private int ram; + private double price; + + @Override + public int compareTo(Laptop that) { + return (this.getRam() < that.getRam()) ? -1 : ((this.getRam() == that.getRam())? 0 : 1); +// return Integer.compare(this.getRam(), that.getRam()); + } +} diff --git a/modern-java/src/main/java/com/pratap/comparision/Main.java b/modern-java/src/main/java/com/pratap/comparision/Main.java new file mode 100644 index 0000000..7ba2920 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/comparision/Main.java @@ -0,0 +1,26 @@ +package com.pratap.comparision; + +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +public class Main { + + public static void main(String[] args) { + List laptops = Arrays.asList(new Laptop("Dell", 8, 800), + new Laptop("Apple", 16, 1800), + new Laptop("Lenovo", 6, 600)); + + //Collections.sort(laptops); + // use Comparator in below cases + // 1. Can't modified the Laptop class + // 2. have to apply sorting on different properties, like brand, ram + + Comparator brandComparator = (l1, l2) -> { + return l1.getBrand().compareTo(l2.getBrand()); + }; + laptops.sort(brandComparator); + laptops.forEach(System.out::println); + } +} diff --git a/modern-java/src/main/java/com/pratap/exceptions/ExceptionHandlingRunner.java b/modern-java/src/main/java/com/pratap/exceptions/ExceptionHandlingRunner.java new file mode 100644 index 0000000..2d7480a --- /dev/null +++ b/modern-java/src/main/java/com/pratap/exceptions/ExceptionHandlingRunner.java @@ -0,0 +1,29 @@ +package com.pratap.exceptions; + +public class ExceptionHandlingRunner { + + public static void main(String[] args) { + + methodOne(); + System.out.println("main ended"); + } + + private static void methodOne() { + methodTwo(); + System.out.println("methodOne ended"); + } + + private static void methodTwo() { + try { + String str = null; + str.length(); + System.out.println("methodTwo ended"); + } catch (NullPointerException e){ + System.out.println("NPE"); + e.printStackTrace(); + } catch (Exception e){ + e.printStackTrace(); + } + + } +} diff --git a/modern-java/src/main/java/com/pratap/exceptions/ThrowingExceptionRunner.java b/modern-java/src/main/java/com/pratap/exceptions/ThrowingExceptionRunner.java new file mode 100644 index 0000000..2e92318 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/exceptions/ThrowingExceptionRunner.java @@ -0,0 +1,42 @@ +package com.pratap.exceptions; + +class Amount { + + private String currency; + private int amount; + + public Amount(String currency, int amount) { + this.currency = currency; + this.amount = amount; + } + + public void add(Amount that){ + if (!this.currency.equals(that.currency)) + throw new CurrencyDoNotMatchException("Currency from "+this.currency+" to "+that.currency+" Not Matched"); + this.amount = this.amount + that.amount; + } + + @Override + public String toString() { + return "Amount{" + + "currency='" + currency + '\'' + + ", amount=" + amount + + '}'; + } +} + +class CurrencyDoNotMatchException extends RuntimeException{ + + public CurrencyDoNotMatchException(String message){ + super(message); + } +} +public class ThrowingExceptionRunner { + + public static void main(String[] args) { + Amount INR = new Amount("INR", 20); + Amount USD = new Amount("USD", 30); + + USD.add(INR); + } +} diff --git a/modern-java/src/main/java/com/pratap/exceptions/TryWithResourceRunner.java b/modern-java/src/main/java/com/pratap/exceptions/TryWithResourceRunner.java new file mode 100644 index 0000000..c25c393 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/exceptions/TryWithResourceRunner.java @@ -0,0 +1,12 @@ +package com.pratap.exceptions; + +import java.util.Scanner; + +public class TryWithResourceRunner { + public static void main(String[] args) { + try(Scanner scanner = new Scanner(System.in)) { + int[] numbers = {1, 12, 23, 34}; + int number = numbers[21]; + } + } +} diff --git a/modern-java/src/main/java/com/pratap/java/inheritance/InheritanceTest01.java b/modern-java/src/main/java/com/pratap/java/inheritance/InheritanceTest01.java new file mode 100644 index 0000000..dbf6b6c --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java/inheritance/InheritanceTest01.java @@ -0,0 +1,41 @@ +package com.pratap.java.inheritance; +class Parent{ + + public String name = "parent-name"; + + public void m1(){ + System.out.println("Parent()"); + } +} + +class Child extends Parent{ + + public String name = "child-name"; +// Child class has two methods m1() & m2 + public void m2(){ + System.out.println("Child()"); + } +} +public class InheritanceTest01 { + + public static void main(String[] args) { + //case - 1 + Parent parent = new Parent(); + parent.m1(); + System.out.println("name : "+parent.name); +// parent.m2(); // Compilation Error + //case - 2 + Child child = new Child(); + child.m1(); + child.m2(); + System.out.println("name : "+child.name); + //case - 3 + Parent parent1 = new Child();//Polymorphism + parent1.m1(); + System.out.println("name : "+parent1.name); + //parent1.m2();//CE + + //case - 4 + // Child child1 = new Parent(); //CE + } +} diff --git a/modern-java/src/main/java/com/pratap/java8/basics/ImperativeVsDeclarativeEx01.java b/modern-java/src/main/java/com/pratap/java8/basics/ImperativeVsDeclarativeEx01.java new file mode 100644 index 0000000..3add7b0 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/basics/ImperativeVsDeclarativeEx01.java @@ -0,0 +1,25 @@ +package com.pratap.java8.basics; + +import java.util.stream.IntStream; + +public class ImperativeVsDeclarativeEx01 { + + public static void main(String[] args) { + + // 1. add numbers from 0 to 100 by Imperative style + + int sum = 0; // mutating the sum var in each iteration + + for(int i = 0; i < 100; i++) { + sum +=i; + } + System.out.println("Sum using imperative approach "+sum); + + // 2. add numbers from 0 to 100 by Declarative style + int sum1 = IntStream.range(0, 100) + .parallel()//multi threaded + .sum(); + System.out.println("Sum using declarative approach "+sum1); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/basics/ImperativeVsDeclarativeEx02.java b/modern-java/src/main/java/com/pratap/java8/basics/ImperativeVsDeclarativeEx02.java new file mode 100644 index 0000000..c93e353 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/basics/ImperativeVsDeclarativeEx02.java @@ -0,0 +1,32 @@ +package com.pratap.java8.basics; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +public class ImperativeVsDeclarativeEx02 { + + public static void main(String[] args) { + + List intList = Arrays.asList(1, 2, 2, 2, 3, 4, 4, 5, 5, 8, 8); + + // 1. Imperative approach + + List uniqueList = new ArrayList<>(); + for (int num : intList) { + if (!uniqueList.contains(num)) { + uniqueList.add(num); + } + } + System.out.println("Imperative : "+uniqueList); + + // 1. Declarative approach + List uniqueList1 = intList.stream() + .distinct() + .collect(Collectors.toList()); + + System.out.println("Declarative : "+uniqueList1); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/beans/Bike.java b/modern-java/src/main/java/com/pratap/java8/beans/Bike.java new file mode 100644 index 0000000..1dbaf06 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/beans/Bike.java @@ -0,0 +1,33 @@ +package com.pratap.java8.beans; + +public class Bike { + + private String name; + private String model; + + public Bike(String name, String model) { + this.name = name; + this.model = model; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + @Override + public String toString() { + return "Bike{" + "name='" + name + '\'' + ", model='" + model + '\'' + '}'; + } +} diff --git a/modern-java/src/main/java/com/pratap/java8/beans/Car.java b/modern-java/src/main/java/com/pratap/java8/beans/Car.java new file mode 100644 index 0000000..90a8c14 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/beans/Car.java @@ -0,0 +1,58 @@ +package com.pratap.java8.beans; + +public class Car { + + private final Integer id; + private final String make; + private final String model; + private final String color; + private final Integer year; + private final Double price; + + + public Car(Integer id, String make, String model, String color, Integer year, + Double price) { + this.id = id; + this.make = make; + this.model = model; + this.color = color; + this.year = year; + this.price = price; + } + + public Integer getId() { + return id; + } + + public String getMake() { + return make; + } + + public String getModel() { + return model; + } + + public String getColor() { + return color; + } + + public Integer getYear() { + return year; + } + + public Double getPrice() { + return price; + } + + @Override + public String toString() { + return "Car{" + + "id=" + id + + ", make='" + make + '\'' + + ", model='" + model + '\'' + + ", color='" + color + '\'' + + ", year=" + year + + ", price=" + price + + '}'; + } +} diff --git a/modern-java/src/main/java/com/pratap/java8/beans/Employee.java b/modern-java/src/main/java/com/pratap/java8/beans/Employee.java new file mode 100644 index 0000000..ee49fb9 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/beans/Employee.java @@ -0,0 +1,15 @@ +package com.pratap.java8.beans; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class Employee { + + private String name; + private int departmentId; + private int salary; +} diff --git a/modern-java/src/main/java/com/pratap/java8/beans/Person.java b/modern-java/src/main/java/com/pratap/java8/beans/Person.java new file mode 100644 index 0000000..1dcd5b0 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/beans/Person.java @@ -0,0 +1,57 @@ +package com.pratap.java8.beans; + +public class Person { + + final Integer id; + final String firstName; + final String lastName; + final String email; + final String gender; + final Integer age; + + public Person(Integer id, String firstName, String lastName, String email, String gender, + Integer age) { + this.id = id; + this.firstName = firstName; + this.lastName = lastName; + this.email = email; + this.gender = gender; + this.age = age; + } + + public Integer getId() { + return id; + } + + public String getFirstName() { + return firstName; + } + + public String getLastName() { + return lastName; + } + + public String getEmail() { + return email; + } + + public String getGender() { + return gender; + } + + public Integer getAge() { + return age; + } + + @Override + public String toString() { + return "Person{" + + "id=" + id + + ", firstName='" + firstName + '\'' + + ", lastName='" + lastName + '\'' + + ", email='" + email + '\'' + + ", gender='" + gender + '\'' + + ", age=" + age + + '}'; + } +} \ No newline at end of file diff --git a/modern-java/src/main/java/com/pratap/java8/beans/Student.java b/modern-java/src/main/java/com/pratap/java8/beans/Student.java new file mode 100644 index 0000000..4944744 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/beans/Student.java @@ -0,0 +1,112 @@ +package com.pratap.java8.beans; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +public class Student { + + private String name; + private int gradeLevel; + private double gpa; + private String gender; + private int noteBooks; + private Optional bike; + + public Optional getBike() { + return bike; + } + + public void setBike(Optional bike) { + this.bike = bike; + } + + public Student() { + + } + + public Student(String name, int gradeLevel, double gpa, String gender, int noteBooks, List activities) { + this.name = name; + this.gradeLevel = gradeLevel; + this.gpa = gpa; + this.gender = gender; + this.noteBooks = noteBooks; + this.activities = activities; + } + + public int getNoteBooks() { + + return noteBooks; + } + + public void setNoteBooks(int noteBooks) { + this.noteBooks = noteBooks; + } + + public Student(String name, int gradeLevel, double gpa, String gender, List activities) { + this.name = name; + this.gradeLevel = gradeLevel; + this.gpa = gpa; + this.gender = gender; + this.activities = activities; + } + + public Student(String s) { + this.name = s; + } + + public String getGender() { + return gender; + } + + public void setGender(String gender) { + this.gender = gender; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getGradeLevel() { + return gradeLevel; + } + + public void setGradeLevel(int gradeLevel) { + this.gradeLevel = gradeLevel; + } + + public double getGpa() { + return gpa; + } + + public void setGpa(double gpa) { + this.gpa = gpa; + } + + List activities = new ArrayList<>(); + + public List getActivities() { + return this.activities; + } + + public void setActivities(List activities) { + this.activities = activities; + } + + public void printListOfActivities() { + + System.out.println("List of Activities are : " + this.activities); + } + + @Override + public String toString() { + return String.format( + "Student [name=%s, gradeLevel=%s, gpa=%s, gender=%s, noteBooks=%s, bike=%s, activities=%s]", name, + gradeLevel, gpa, gender, noteBooks, bike, activities); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/datetime/ComparingDatesPeriodExample.java b/modern-java/src/main/java/com/pratap/java8/datetime/ComparingDatesPeriodExample.java new file mode 100644 index 0000000..87968a9 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/datetime/ComparingDatesPeriodExample.java @@ -0,0 +1,25 @@ +package com.pratap.java8.datetime; + +import java.time.LocalDate; +import java.time.Month; +import java.time.Period; + +public class ComparingDatesPeriodExample { + + public static void main(String[] args) { + + LocalDate localDate = LocalDate.of(2020, Month.JANUARY, 01); + LocalDate localDate2 = LocalDate.of(2020, Month.JANUARY, 31); + Period period = Period.between(localDate, localDate2); + System.out.println(" getDays : "+period.getDays()); + System.out.println("getMonths : "+period.getMonths()); + System.out.println("getYears : "+period.getYears()); + + Period periodDays = Period.ofDays(10); + System.out.println("Period.getDays() "+periodDays.getDays()); + Period periodYears = Period.ofYears(10); + System.out.println("Period.getYears() :"+periodYears.getYears()); + System.out.println("Period.toTotalMonths() :"+periodYears.toTotalMonths()); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/datetime/ComparingTimesDurationExample.java b/modern-java/src/main/java/com/pratap/java8/datetime/ComparingTimesDurationExample.java new file mode 100644 index 0000000..6124f96 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/datetime/ComparingTimesDurationExample.java @@ -0,0 +1,22 @@ +package com.pratap.java8.datetime; + +import java.time.Duration; +import java.time.LocalTime; +import java.time.temporal.ChronoUnit; + +public class ComparingTimesDurationExample { + + public static void main(String[] args) { + + LocalTime localTime = LocalTime.of(7, 20); + LocalTime localTime2 = LocalTime.of(8, 20); + + long diff = localTime.until(localTime2, ChronoUnit.MINUTES); + System.out.println(diff); + + System.out.println("toMinutes : "+Duration.between(localTime, localTime2).toMinutes()); + + System.out.println("toMinutes :"+Duration.ofHours(3).toMinutes()); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/datetime/DateToLocalDate.java b/modern-java/src/main/java/com/pratap/java8/datetime/DateToLocalDate.java new file mode 100644 index 0000000..e616bd3 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/datetime/DateToLocalDate.java @@ -0,0 +1,22 @@ +package com.pratap.java8.datetime; + +import java.time.LocalDate; +import java.time.ZoneId; +import java.util.Date; + +public class DateToLocalDate { + + public static void main(String[] args) { + + /** + * java.util.Date to java.time.LocalDate + */ + Date date = new Date(); + + System.out.println(date); + // conversion + LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + System.out.println(localDate); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/datetime/FormattingLocalDateExample.java b/modern-java/src/main/java/com/pratap/java8/datetime/FormattingLocalDateExample.java new file mode 100644 index 0000000..86215cc --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/datetime/FormattingLocalDateExample.java @@ -0,0 +1,29 @@ +package com.pratap.java8.datetime; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; + +public class FormattingLocalDateExample { + + public static void main(String[] args) { + + String date = "2020-11-27"; + System.out.println(LocalDate.parse(date)); + + LocalDate localDate = LocalDate.parse(date, DateTimeFormatter.ISO_LOCAL_DATE); + System.out.println(localDate); + + String date1 = "20201127";//yyyyMMdd + System.out.println(LocalDate.parse(date1, DateTimeFormatter.BASIC_ISO_DATE)); + // custome date time formatter + String date3 = "2020|11|27"; + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy|MM|dd"); + System.out.println(LocalDate.parse(date3, formatter)); + + String date4 = "2020*11*27"; + DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy*MM*dd"); + System.out.println(LocalDate.parse(date4, formatter1)); + + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/datetime/InstantExample.java b/modern-java/src/main/java/com/pratap/java8/datetime/InstantExample.java new file mode 100644 index 0000000..72f4efe --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/datetime/InstantExample.java @@ -0,0 +1,14 @@ +package com.pratap.java8.datetime; + +import java.time.Instant; + +public class InstantExample { + + public static void main(String[] args) { + + System.out.println(Instant.now()); + + System.out.println("getEpochSecond : "+Instant.now().getEpochSecond()); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/datetime/LocalDateExample.java b/modern-java/src/main/java/com/pratap/java8/datetime/LocalDateExample.java new file mode 100644 index 0000000..55a931e --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/datetime/LocalDateExample.java @@ -0,0 +1,56 @@ +package com.pratap.java8.datetime; + +import java.time.LocalDate; +import java.time.Month; +import java.time.temporal.ChronoField; +import java.time.temporal.ChronoUnit; +import java.time.temporal.TemporalAdjusters; + +public class LocalDateExample { + + public static void main(String[] args) { + + LocalDate localDate = LocalDate.now(); + System.out.println(localDate); + + LocalDate localDate2 = LocalDate.of(2020, Month.NOVEMBER, 16); + System.out.println(localDate2); + + LocalDate localDate3 = LocalDate.ofYearDay(2020, 2); + System.out.println(localDate3); + + /** + * get values from localDate + */ + System.out.println("getMonth : "+localDate.getMonth()); + System.out.println("getMonthValue : "+localDate.getMonthValue()); + System.out.println("getDayOfWeek : "+localDate.getDayOfMonth()); + System.out.println("getDayOfYear : "+localDate.getDayOfYear()); + System.out.println("getDayOfWeek : "+localDate.getDayOfWeek()); + System.out.println("Day of month using get : "+localDate2.get(ChronoField.DAY_OF_MONTH)); + System.out.println("Day of week using get : "+localDate2.get(ChronoField.DAY_OF_WEEK)); + + /** + * Modifying local date + */ + System.out.println("plusDays : "+localDate.plusDays(2)); + System.out.println("plusMonth : "+localDate.plusMonths(2)); + System.out.println("minusDays : "+localDate.minusDays(2)); + System.out.println("withYear : "+localDate.withYear(2019)); + System.out.println("withChronoField : "+localDate.with(ChronoField.YEAR, 2020)); + System.out.println("TemporalAdjusters : "+localDate.with(TemporalAdjusters.firstDayOfNextMonth())); + System.out.println("ChronoUnit minus : "+localDate.minus(1, ChronoUnit.YEARS)); + + /** + * Additional support methods + */ + System.out.println("leapYear : "+localDate.isLeapYear()); + // localDate = 2020-11-15 + // localDate1 = 2020-11-16 + System.out.println("isEqual : "+localDate.isEqual(localDate2)); + System.out.println("isBefore : "+localDate.isBefore(localDate2)); + System.out.println("isAfter : "+localDate2.isAfter(localDate)); + System.out.println("isSupported : "+localDate.isSupported(ChronoUnit.YEARS)); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/datetime/LocalDateTimeExample.java b/modern-java/src/main/java/com/pratap/java8/datetime/LocalDateTimeExample.java new file mode 100644 index 0000000..289dd2e --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/datetime/LocalDateTimeExample.java @@ -0,0 +1,48 @@ +package com.pratap.java8.datetime; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.Month; + +public class LocalDateTimeExample { + + public static void main(String[] args) { + + LocalDateTime localDateTime = LocalDateTime.now(); + System.out.println(localDateTime); + + LocalDateTime localDateTime2 = LocalDateTime.of(1998, 10, 21, 21, 59, 33, 8945478); + System.out.println("localDateTime2 : "+localDateTime2); + + LocalDateTime localDateTime3 = LocalDateTime.of(LocalDate.now(), LocalTime.now()); + System.out.println("localDateTime3 : "+localDateTime3); + + /** + * getting the time and date from localdatetime instance + */ + System.out.println("getHour : "+localDateTime.getHour()); + System.out.println("getMinute : "+localDateTime.getMinute()); + System.out.println("getSecond : "+localDateTime.getSecond()); + + /** + * Modifying the localdatetime + */ + System.out.println("plusHours : "+localDateTime.plusHours(2)); + System.out.println("minusDays : "+localDateTime.minusDays(2)); + + //converting localdate, localtime to localdatetime and viceversa + + LocalDate localDate = LocalDate.of(2019, Month.JANUARY, 26); + System.out.println("atTime : "+localDate.atTime(22, 45)); + + LocalTime localTime = LocalTime.of(22, 35); + System.out.println("atDate : "+localTime.atDate(localDate)); + + LocalDateTime localDateTime4 = localTime.atDate(localDate); + System.out.println("toLocalDate : "+localDateTime4.toLocalDate()); + + System.out.println("toLocalTime : "+localDateTime4.toLocalTime()); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/datetime/LocalTimeExample.java b/modern-java/src/main/java/com/pratap/java8/datetime/LocalTimeExample.java new file mode 100644 index 0000000..e549f7a --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/datetime/LocalTimeExample.java @@ -0,0 +1,41 @@ +package com.pratap.java8.datetime; + +import java.time.LocalTime; +import java.time.temporal.ChronoField; +import java.time.temporal.ChronoUnit; + +public class LocalTimeExample { + + public static void main(String[] args) { + + LocalTime localTime = LocalTime.now(); + System.out.println("localTime : "+localTime); + + LocalTime localTime2 = LocalTime.of(23, 33); + System.out.println("localTime2 : "+localTime2); + + LocalTime localTime3 = LocalTime.of(23, 33, 59); + System.out.println("localTime3 : "+localTime3); + + LocalTime localTime4 = LocalTime.of(23, 33, 59, 98009876); + System.out.println("localTime4 : "+localTime4); + + /** + * getting the values from localTime + */ + System.out.println("getHour : "+localTime.getHour()); + System.out.println("getMinute : "+localTime.getMinute()); + System.out.println("CLOCK_HOUR_OF_DAY : "+localTime.get(ChronoField.CLOCK_HOUR_OF_DAY)); + System.out.println("toSecondOfDay : "+localTime.toSecondOfDay());// represents time in seconds + + /** + * Modify values of the localTime + */ + System.out.println("minusHours : "+localTime.minusHours(2)); + System.out.println("ChronoUnit.HOURS : "+localTime.minus(2, ChronoUnit.HOURS)); + System.out.println("MIDNIGHT : "+localTime.with(LocalTime.MIDNIGHT)); + System.out.println("HOUR_OF_DAY : "+localTime.with(ChronoField.HOUR_OF_DAY, 22)); + System.out.println("plusMinutes : "+localTime.plus(30, ChronoUnit.MINUTES)); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/datetime/NewDateTimeExample.java b/modern-java/src/main/java/com/pratap/java8/datetime/NewDateTimeExample.java new file mode 100644 index 0000000..0f60d53 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/datetime/NewDateTimeExample.java @@ -0,0 +1,19 @@ +package com.pratap.java8.datetime; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; + +public class NewDateTimeExample { + + public static void main(String[] args) { + + // LocalDate + System.out.println("LocalDate : "+ LocalDate.now()); + // LocalTime + System.out.println("LocatTime : "+LocalTime.now()); + // LocalDateTime + System.out.println("Local date time : "+LocalDateTime.now()); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/datetime/ZonedDateTimeExample.java b/modern-java/src/main/java/com/pratap/java8/datetime/ZonedDateTimeExample.java new file mode 100644 index 0000000..ea972a0 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/datetime/ZonedDateTimeExample.java @@ -0,0 +1,39 @@ +package com.pratap.java8.datetime; + +import java.time.Clock; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; + +public class ZonedDateTimeExample { + + public static void main(String[] args) { + + ZonedDateTime zonedDateTime = ZonedDateTime.now(); + + System.out.println("zonedDateTime : "+zonedDateTime); + System.out.println("getOffset : "+zonedDateTime.getOffset()); + System.out.println("zone Id : "+zonedDateTime.getZone()); + // list of available zone ids + System.out.println("Available zones :"); + ZoneId.getAvailableZoneIds().stream().forEach(System.out::println); + + System.out.println(ZonedDateTime.now(ZoneId.of("Asia/Kolkata"))); + System.out.println(ZonedDateTime.now(ZoneId.of("America/Argentina/Buenos_Aires"))); + System.out.println(ZonedDateTime.now(ZoneId.of("Europe/Nicosia"))); + System.out.println(ZonedDateTime.now(ZoneId.of("America/Los_Angeles"))); + + System.out.println("Zoned date time using Clock : "+ZonedDateTime.now(Clock.system(ZoneId.of("Australia/Melbourne")))); + /** + * convert from localdatetime, instant to zonedlocaldate and time + */ + System.out.println("zoneId from localdatetime.now "+LocalDateTime.now(ZoneId.of("America/Los_Angeles"))); + LocalDateTime localDateTime = LocalDateTime.now(); + System.out.println(localDateTime.atZone(ZoneId.of("America/Los_Angeles"))); + + + + + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/defaults/ClassImpl123.java b/modern-java/src/main/java/com/pratap/java8/defaults/ClassImpl123.java new file mode 100644 index 0000000..be6aa2f --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/defaults/ClassImpl123.java @@ -0,0 +1,22 @@ +package com.pratap.java8.defaults; + +public class ClassImpl123 implements Interface1, Interface2, Interface3 { + + public void methodA() { + System.out.println("Inside method A"+ClassImpl123.class); + } + public static void main(String[] args) { + + /** + * Implementation preferences + * 1. class that implements interface + * 2. the sub interface that extends the interface + * + */ + ClassImpl123 impl = new ClassImpl123(); + impl.methodA(); + impl.methodB(); + impl.methodC(); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/defaults/ClientImpl14.java b/modern-java/src/main/java/com/pratap/java8/defaults/ClientImpl14.java new file mode 100644 index 0000000..60232da --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/defaults/ClientImpl14.java @@ -0,0 +1,16 @@ +package com.pratap.java8.defaults; + +public class ClientImpl14 implements Interface1, Interface4 { + + public static void main(String[] args) { + + ClientImpl14 impl = new ClientImpl14(); + impl.methodA(); + } + + @Override + public void methodA() { + System.out.println("Inside method A"+ClientImpl14.class); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/defaults/DefaultMethodExample.java b/modern-java/src/main/java/com/pratap/java8/defaults/DefaultMethodExample.java new file mode 100644 index 0000000..9edaba1 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/defaults/DefaultMethodExample.java @@ -0,0 +1,30 @@ +package com.pratap.java8.defaults; + +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +public class DefaultMethodExample { + + public static void main(String[] args) { + + /** + * sort the list names in alphabetical order + */ + List stringList = Arrays.asList("Adam", "Jenny", "Alex", "Dan", "Mike", "Eric"); + + // prior java8 + Collections.sort(stringList); + System.out.println(stringList); + + //java8 + stringList.sort(Comparator.naturalOrder()); + System.out.println(stringList); + + stringList.sort(Comparator.reverseOrder()); + System.out.println(stringList); + + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/defaults/DefaultMethodExample2.java b/modern-java/src/main/java/com/pratap/java8/defaults/DefaultMethodExample2.java new file mode 100644 index 0000000..863a1ae --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/defaults/DefaultMethodExample2.java @@ -0,0 +1,38 @@ +package com.pratap.java8.defaults; + +import java.util.Comparator; +import java.util.List; +import java.util.function.Consumer; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class DefaultMethodExample2 { + + public static Consumer studentConsumer = System.out::println; + + public static Comparator nameComparator = Comparator.comparing(Student::getName); + + public static Comparator gpaComparator = Comparator.comparingDouble(Student::getGpa); + + public static Comparator nullComparator = Comparator.nullsFirst(nameComparator); + + public static void main(String[] args) { + + List students = StudentDataBase.getAllStudents(); + System.out.println("Before Sorting"); + students.forEach(studentConsumer); + System.out.println("Sort by name"); + students.sort(nullComparator); + //students.sort(nameComparator); + students.forEach(studentConsumer); + System.out.println("Sort By GPA"); + students.sort(gpaComparator); + System.out.println(students); + System.out.println("comparator chaining"); + students.sort(gpaComparator.thenComparing(nameComparator)); + System.out.println(students); + + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/defaults/Interface1.java b/modern-java/src/main/java/com/pratap/java8/defaults/Interface1.java new file mode 100644 index 0000000..5c27397 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/defaults/Interface1.java @@ -0,0 +1,8 @@ +package com.pratap.java8.defaults; + +public interface Interface1 { + + default void methodA() { + System.out.println("Inside method A"+Interface1.class); + } +} diff --git a/modern-java/src/main/java/com/pratap/java8/defaults/Interface2.java b/modern-java/src/main/java/com/pratap/java8/defaults/Interface2.java new file mode 100644 index 0000000..d02e9b3 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/defaults/Interface2.java @@ -0,0 +1,14 @@ +package com.pratap.java8.defaults; + +public interface Interface2 extends Interface1{ + + default void methodB() { + System.out.println("Inside method B"); + } + + @Override + default void methodA() { + System.out.println("Inside method A "+Interface2.class); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/defaults/Interface3.java b/modern-java/src/main/java/com/pratap/java8/defaults/Interface3.java new file mode 100644 index 0000000..3ecb9a2 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/defaults/Interface3.java @@ -0,0 +1,20 @@ +package com.pratap.java8.defaults; + +public interface Interface3 extends Interface2 { + + default void methodC() { + System.out.println("Inside method C"+Interface3.class); + } + + @Override + default void methodB() { + System.out.println("Inside method B"+Interface3.class); + } + + @Override + default void methodA() { + System.out.println("Inside method A"+Interface3.class); + } + + +} diff --git a/modern-java/src/main/java/com/pratap/java8/defaults/Interface4.java b/modern-java/src/main/java/com/pratap/java8/defaults/Interface4.java new file mode 100644 index 0000000..69ac537 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/defaults/Interface4.java @@ -0,0 +1,8 @@ +package com.pratap.java8.defaults; + +public interface Interface4 { + + default void methodA() { + System.out.println("Inside method A"+Interface4.class); + } +} diff --git a/modern-java/src/main/java/com/pratap/java8/defaults/Multiplier.java b/modern-java/src/main/java/com/pratap/java8/defaults/Multiplier.java new file mode 100644 index 0000000..f98c508 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/defaults/Multiplier.java @@ -0,0 +1,17 @@ +package com.pratap.java8.defaults; + +import java.util.List; + +public interface Multiplier { + + int multiply(List integerList); + + default int size(List integerList) { + System.out.println("Inside Multiplier"); + return integerList.size(); + } + + static boolean isEmpty(List integerList) { + return integerList.size() == 0; + } +} diff --git a/modern-java/src/main/java/com/pratap/java8/defaults/MultiplierClient.java b/modern-java/src/main/java/com/pratap/java8/defaults/MultiplierClient.java new file mode 100644 index 0000000..d7b3424 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/defaults/MultiplierClient.java @@ -0,0 +1,17 @@ +package com.pratap.java8.defaults; + +import java.util.Arrays; +import java.util.List; + +public class MultiplierClient { + + public static void main(String[] args) { + + Multiplier multiplier = new MultiplierImpl(); + List integerList = Arrays.asList(2, 3, 5); + System.out.println("Multiply result is : "+multiplier.multiply(integerList)); + System.out.println("Default size is : "+multiplier.size(integerList)); + System.out.println("integerList is empty : "+Multiplier.isEmpty(integerList)); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/defaults/MultiplierImpl.java b/modern-java/src/main/java/com/pratap/java8/defaults/MultiplierImpl.java new file mode 100644 index 0000000..363b4c8 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/defaults/MultiplierImpl.java @@ -0,0 +1,17 @@ +package com.pratap.java8.defaults; + +import java.util.List; + +public class MultiplierImpl implements Multiplier { + + @Override + public int multiply(List integerList) { + return integerList.stream().reduce(1, (x, y) -> x*y); + } + + public int size(List integerList) { + System.out.println("Inside MultiplierImpl"); + return integerList.size(); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/functional/interfaces/consumer/BiConsumerExample.java b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/consumer/BiConsumerExample.java new file mode 100644 index 0000000..afe128a --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/consumer/BiConsumerExample.java @@ -0,0 +1,24 @@ +package com.pratap.java8.functional.interfaces.consumer; + +import java.util.List; +import java.util.function.BiConsumer; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class BiConsumerExample { + + static List students = StudentDataBase.getAllStudents(); + + static BiConsumer> nameAndActivities = (name, activities) -> System.out.println(name+":"+activities); + + public static void printNameAndActivities() { + students.forEach(student -> nameAndActivities.accept(student.getName(), student.getActivities())); + } + + public static void main(String[] args) { + + printNameAndActivities(); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/functional/interfaces/consumer/ConsumerExample.java b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/consumer/ConsumerExample.java new file mode 100644 index 0000000..c9f736b --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/consumer/ConsumerExample.java @@ -0,0 +1,44 @@ +package com.pratap.java8.functional.interfaces.consumer; + +import java.util.List; +import java.util.function.Consumer; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class ConsumerExample { + + static List students = StudentDataBase.getAllStudents(); + static Consumer stdConsumer = System.out::println; + static Consumer stdNameConsumer = student -> System.out.print(student.getName()); + static Consumer stdActivitesConsumer = student -> System.out.println(student.getActivities()); + + + public static void printName() { + students.forEach(stdConsumer); + + } + + public static void printNameAndActivities() { + students.forEach(stdNameConsumer.andThen(stdActivitesConsumer)); + } + + public static void printNameAndActivitiesUsingCondition() { + //if student gradeLevel >= 3 + students.forEach(student -> { + if(student.getGradeLevel() >= 3) { + stdNameConsumer.andThen(stdActivitesConsumer).accept(student); + } + }); + } + public static void main(String[] args) { + + Consumer consumer = str -> System.out.println(str.toUpperCase()); + consumer.accept("java8"); + printName(); + printNameAndActivities(); + System.out.println("printNameAndActivitiesUsingCondition"); + printNameAndActivitiesUsingCondition(); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/functional/interfaces/function/BiFunctionExcample.java b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/function/BiFunctionExcample.java new file mode 100644 index 0000000..4281e59 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/function/BiFunctionExcample.java @@ -0,0 +1,29 @@ +package com.pratap.java8.functional.interfaces.function; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.function.BiFunction; +import java.util.function.Predicate; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class BiFunctionExcample { + + static BiFunction, Predicate, Map> studentFunction = (students, predicate) -> { + + Map studentGpaMap = new HashMap(); + students.forEach(student -> { + if(predicate.test(student)) { + studentGpaMap.put(student.getName(), student.getGpa()); + } + }); + return studentGpaMap; + }; + public static void main(String[] args) { + + System.out.println(studentFunction.apply(StudentDataBase.getAllStudents(), student -> student.getGpa() >= 3.9)); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/functional/interfaces/function/BinaryOperatorExample.java b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/function/BinaryOperatorExample.java new file mode 100644 index 0000000..16f40db --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/function/BinaryOperatorExample.java @@ -0,0 +1,24 @@ +package com.pratap.java8.functional.interfaces.function; + +import java.util.Comparator; +import java.util.function.BinaryOperator; + +public class BinaryOperatorExample { + + static Comparator comparator = (a, b) -> a.compareTo(b); + + // use case - when input(2 inputs) & output are same type + + public static void main(String[] args) { + + BinaryOperator binOperator = (a, b) -> a*b; + System.out.println(binOperator.apply(4, 5)); + + BinaryOperator maxByBinOPerator = BinaryOperator.maxBy(comparator); + System.out.println(maxByBinOPerator.apply(4, 5)); + + BinaryOperator minByBinOperator = BinaryOperator.minBy(comparator); + System.out.println(minByBinOperator.apply(4, 5)); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/functional/interfaces/function/FunctionExample.java b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/function/FunctionExample.java new file mode 100644 index 0000000..072eaac --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/function/FunctionExample.java @@ -0,0 +1,35 @@ +package com.pratap.java8.functional.interfaces.function; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.function.Predicate; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class FunctionExample { + + static Predicate gpaPredicate = student -> student.getGpa() >= 3.9; + + static Function, Map> studentFucntion = students -> { + + Map studentGradeMap = new HashMap(); + + students.forEach(student -> { + if(gpaPredicate.test(student)) { + studentGradeMap.put(student.getName(), student.getGpa()); + } + }); + + return studentGradeMap; + }; + + public static void main(String[] args) { + + System.out.println(studentFucntion.apply(StudentDataBase.getAllStudents())); + + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/functional/interfaces/function/UnaryOperatorExample.java b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/function/UnaryOperatorExample.java new file mode 100644 index 0000000..21ecef2 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/function/UnaryOperatorExample.java @@ -0,0 +1,15 @@ +package com.pratap.java8.functional.interfaces.function; + +import java.util.function.UnaryOperator; + +public class UnaryOperatorExample { + + // use case - when input & output are same type + static UnaryOperator unaryOperator = str -> str.toUpperCase(); + + public static void main(String[] args) { + + System.out.println(unaryOperator.apply("pratap")); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/functional/interfaces/predicate/BiPredicateExample.java b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/predicate/BiPredicateExample.java new file mode 100644 index 0000000..dbf481b --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/predicate/BiPredicateExample.java @@ -0,0 +1,33 @@ +package com.pratap.java8.functional.interfaces.predicate; + +import java.util.List; +import java.util.function.BiConsumer; +import java.util.function.BiPredicate; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class BiPredicateExample { + + BiPredicate biPredicate = (gradeLevel, gpa) -> gradeLevel >= 3 && gpa >= 3.9; + + BiConsumer> nameAndActivitiesConsumer = + (name, activities) -> System.out.println(name+":"+activities); + + List students = StudentDataBase.getAllStudents(); + + // print name and activities of students whose gradelevel is greater or equal to 3 + + public void printNameAndActivitiesUsingCondition() { + students.forEach(student -> { + if(biPredicate.test(student.getGradeLevel(), student.getGpa())) { + nameAndActivitiesConsumer.accept(student.getName(), student.getActivities()); + } + }); + } + public static void main(String[] args) { + + new BiPredicateExample().printNameAndActivitiesUsingCondition(); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/functional/interfaces/predicate/PredicateExample.java b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/predicate/PredicateExample.java new file mode 100644 index 0000000..e1d805a --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/predicate/PredicateExample.java @@ -0,0 +1,34 @@ +package com.pratap.java8.functional.interfaces.predicate; + +import java.util.List; +import java.util.function.BiConsumer; +import java.util.function.Predicate; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class PredicateExample { + + Predicate gradeLevelPredicate = student -> student.getGradeLevel() >= 3; + Predicate gpaPredicate = student -> student.getGpa() >= 3.9; + + BiConsumer> nameAndActivitiesConsumer = + (name, activities) -> System.out.println(name+":"+activities); + + List students = StudentDataBase.getAllStudents(); + + // print name and activities of students whose gradelevel is greater or equal to 3 + + public void printNameAndActivitiesUsingCondition() { + students.forEach(student -> { + if(gradeLevelPredicate.and(gpaPredicate).test(student)) { + nameAndActivitiesConsumer.accept(student.getName(), student.getActivities()); + } + }); + } + public static void main(String[] args) { + + new PredicateExample().printNameAndActivitiesUsingCondition(); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/functional/interfaces/supplier/SupplierExample.java b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/supplier/SupplierExample.java new file mode 100644 index 0000000..d9fa748 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/functional/interfaces/supplier/SupplierExample.java @@ -0,0 +1,28 @@ +package com.pratap.java8.functional.interfaces.supplier; + +import java.util.List; +import java.util.function.Supplier; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +/** + * + * @author 835698 + * Supplier is just opposite to Consumer, its take no input while return a type. + * T get(); + * accept(T t); -> Consumer + */ +public class SupplierExample { + + static Supplier studentSupplier = () -> StudentDataBase.getAllStudents().get(0); + + static Supplier> studentsSupplier = () -> StudentDataBase.getAllStudents(); + + public static void main(String[] args) { + + System.out.println(studentSupplier.get()); + System.out.println(studentsSupplier.get()); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/methodreference/ConstructorRefExample.java b/modern-java/src/main/java/com/pratap/java8/methodreference/ConstructorRefExample.java new file mode 100644 index 0000000..fbd1cf5 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/methodreference/ConstructorRefExample.java @@ -0,0 +1,20 @@ +package com.pratap.java8.methodreference; + +import java.util.function.Function; +import java.util.function.Supplier; + +import com.pratap.java8.beans.Student; + +public class ConstructorRefExample { + + static Supplier student = Student::new; + + static Function student1 = Student::new; + + public static void main(String[] args) { + + System.out.println(student.get()); + System.out.println(student1.apply("Pratap")); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/methodreference/FunctionMethodRefExample.java b/modern-java/src/main/java/com/pratap/java8/methodreference/FunctionMethodRefExample.java new file mode 100644 index 0000000..1ec9f81 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/methodreference/FunctionMethodRefExample.java @@ -0,0 +1,14 @@ +package com.pratap.java8.methodreference; + +import java.util.function.Function; + +public class FunctionMethodRefExample { + + static Function toUpperCaseLambda = String::toUpperCase; + + public static void main(String[] args) { + + System.out.println(toUpperCaseLambda.apply("pratap")); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/methodreference/RefactorMethodReferenceExample.java b/modern-java/src/main/java/com/pratap/java8/methodreference/RefactorMethodReferenceExample.java new file mode 100644 index 0000000..bb602d1 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/methodreference/RefactorMethodReferenceExample.java @@ -0,0 +1,22 @@ +package com.pratap.java8.methodreference; + +import java.util.function.Predicate; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class RefactorMethodReferenceExample { + + static Predicate stdPredicate = RefactorMethodReferenceExample::greaterThanGradeLevel; + + public static boolean greaterThanGradeLevel(Student student) { + return student.getGpa() >= 3.9; + } + + public static void main(String[] args) { + + System.out.println(stdPredicate.test(StudentDataBase.studentSupplier.get())); + + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/methodreference/SumClient.java b/modern-java/src/main/java/com/pratap/java8/methodreference/SumClient.java new file mode 100644 index 0000000..70b6a86 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/methodreference/SumClient.java @@ -0,0 +1,31 @@ +package com.pratap.java8.methodreference; + +import java.util.stream.IntStream; + +import com.pratap.java8.parallelstream.Sum; +/** + * when not to use parallel stream - when we have mutating variable, not recommended to use parallel stream. + * @author 835698 + * + */ +public class SumClient { + + public static void main(String[] args) { + + Sum sum = new Sum(); + +// IntStream.rangeClosed(1, 10000) +// .forEach(sum :: performSum); +// +// System.out.println(sum.getTotal()); + + // parallel stream + + IntStream.rangeClosed(1, 10000) + .parallel() + .forEach(sum::performSum); + + System.out.println(sum.getTotal()); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/mockdata/StudentDataBase.java b/modern-java/src/main/java/com/pratap/java8/mockdata/StudentDataBase.java new file mode 100644 index 0000000..747eb78 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/mockdata/StudentDataBase.java @@ -0,0 +1,47 @@ +package com.pratap.java8.mockdata; + +import java.util.Arrays; +import java.util.List; +import java.util.Optional; +import java.util.function.Supplier; + +import com.pratap.java8.beans.Bike; +import com.pratap.java8.beans.Student; + +public class StudentDataBase { + + public static Supplier studentSupplier = () -> { + Bike bike = new Bike("Jawa", "350"); + Student student = new Student("Adam",2,3.6, "male",10,Arrays.asList("swimming", "basketball","volleyball")); + student.setBike(Optional.ofNullable(bike)); + return student; + }; + + /** + * Total of 6 students in the database. + * @return + */ + public static List getAllStudents(){ + + /** + * 2nd grade students + */ + Student student1 = new Student("Adam",2,3.6, "male",10,Arrays.asList("swimming", "basketball","volleyball")); + Bike bike = new Bike("Jawa", "350"); + student1.setBike(Optional.ofNullable(bike)); + Student student2 = new Student("Jenny",2,3.8,"female", 11,Arrays.asList("swimming", "gymnastics","soccer")); + /** + * 3rd grade students + */ + Student student3 = new Student("Emily",3,4.0,"female", 12,Arrays.asList("swimming", "gymnastics","aerobics")); + Student student4 = new Student("Dave",3,4.0,"male", 15,Arrays.asList("swimming", "gymnastics","soccer")); + /** + * 4th grade students + */ + Student student5 = new Student("Sophia",4,3.5,"female",10, Arrays.asList("swimming", "dancing","football")); + Student student6 = new Student("James",4,3.9,"male", 22,Arrays.asList("swimming", "basketball","baseball","football")); + + List students = Arrays.asList(student1,student2,student3,student4,student5,student6); + return students; + } +} diff --git a/modern-java/src/main/java/com/pratap/java8/optional/OptionalExample.java b/modern-java/src/main/java/com/pratap/java8/optional/OptionalExample.java new file mode 100644 index 0000000..602e046 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/optional/OptionalExample.java @@ -0,0 +1,29 @@ +package com.pratap.java8.optional; + +import java.util.Optional; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class OptionalExample { + + public static Optional getStudentNameOptional() { + + Optional studentOptional = Optional.ofNullable(StudentDataBase.studentSupplier.get()); +// Optional studentOptional = Optional.ofNullable(null); + if(studentOptional.isPresent()) { + return studentOptional.map(Student::getName); + } + return Optional.empty(); + } + public static void main(String[] args) { + + Optional nameOptional = getStudentNameOptional(); + if(nameOptional.isPresent()) { + System.out.println(nameOptional.get()); + } else { + System.out.println("Name not found"); + } + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/optional/OptionalMapFlatMapExample.java b/modern-java/src/main/java/com/pratap/java8/optional/OptionalMapFlatMapExample.java new file mode 100644 index 0000000..33253ba --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/optional/OptionalMapFlatMapExample.java @@ -0,0 +1,43 @@ +package com.pratap.java8.optional; + +import java.util.Optional; + +import com.pratap.java8.beans.Bike; +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class OptionalMapFlatMapExample { + + //filter + public static void optionalFilter() { + Optional optionalStudent = Optional.ofNullable(StudentDataBase.studentSupplier.get()); + optionalStudent.filter(student -> student.getGpa() >= 3.5) + .ifPresentOrElse(System.out::println, () -> System.out.println("No Student Found of GPA >= 3.5")); + + } + + //map + public static void optionalMap() { + Optional.ofNullable(StudentDataBase.studentSupplier.get()) + .filter(student -> student.getGpa() >= 3.7) + .map(Student::getName) + .ifPresentOrElse(System.out::println, () -> System.out.println("Not Found")); + } + + //flatMap + public static void optionalFlatMap() { + + Optional optionalStudent = Optional.ofNullable(StudentDataBase.studentSupplier.get()); + + optionalStudent.filter(Student -> Student.getGpa() >= 3.5) + .flatMap(Student::getBike) + .map(Bike::getName) + .ifPresentOrElse(System.out::println, () -> System.out.println("No Data Found")); + } + public static void main(String[] args) { + optionalFilter(); + optionalMap(); + optionalFlatMap(); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/optional/OptionalOfEmptyNullableExample.java b/modern-java/src/main/java/com/pratap/java8/optional/OptionalOfEmptyNullableExample.java new file mode 100644 index 0000000..83e40f0 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/optional/OptionalOfEmptyNullableExample.java @@ -0,0 +1,26 @@ +package com.pratap.java8.optional; + +import java.util.Optional; + +public class OptionalOfEmptyNullableExample { + + public static Optional ofNullable(){ + return Optional.ofNullable("Hello");//return Optional.empty, if value is null + } + + public static Optional of(){ + return Optional.of("Hello");//throw a NPE if value is null + } + + public static Optional empty(){ + return Optional.empty(); + } + public static void main(String[] args) { + + System.out.println("ofNullable :"+ofNullable().isPresent()); + System.out.println("of :"+of()); + System.out.println("empty() :"+empty()); + + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/optional/OptionalOrElseExample.java b/modern-java/src/main/java/com/pratap/java8/optional/OptionalOrElseExample.java new file mode 100644 index 0000000..958c7e8 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/optional/OptionalOrElseExample.java @@ -0,0 +1,40 @@ +package com.pratap.java8.optional; + +import java.util.Optional; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class OptionalOrElseExample { + + //orElse + + public static String optionalOrElse() { +// Optional studentOptinal = Optional.ofNullable(StudentDataBase.studentSupplier.get()); + Optional studentOptinal = Optional.ofNullable(null);//Optional.empty + System.out.println(studentOptinal); + String studentName = studentOptinal.map(Student::getName).orElse("Default"); + return studentName; + } + //orElseGet + public static String optionalOrElseGet() { + Optional studentOptinal = Optional.ofNullable(StudentDataBase.studentSupplier.get()); + String studentName = studentOptinal.map(Student::getName).orElseGet(() ->"Default"); + return studentName; + } + + //orElseThrow + public static String optionalOrElseThrow() { + Optional studentOptional = Optional.ofNullable(null); + String studentName = studentOptional.map(Student::getName).orElseThrow(() -> new RuntimeException("No Data Available")); + return studentName; + } + + public static void main(String[] args) { + System.out.println(optionalOrElse()); + System.out.println(optionalOrElseGet()); + System.out.println(optionalOrElseThrow()); + + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/optional/OptionalPresentExample.java b/modern-java/src/main/java/com/pratap/java8/optional/OptionalPresentExample.java new file mode 100644 index 0000000..16542bc --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/optional/OptionalPresentExample.java @@ -0,0 +1,20 @@ +package com.pratap.java8.optional; + +import java.util.Optional; + +public class OptionalPresentExample { + + public static void main(String[] args) { + + //isPresent + Optional optional = Optional.ofNullable(null); + System.out.println(optional.isPresent()); + if(optional.isPresent()) + System.out.println(optional.get()); + + //ifPresent + optional.ifPresent(System.out::println); + optional.ifPresentOrElse(System.out::print, () -> System.out.println("Not present")); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/parallelstream/ParallelStreamBoxExample.java b/modern-java/src/main/java/com/pratap/java8/parallelstream/ParallelStreamBoxExample.java new file mode 100644 index 0000000..9d78c6a --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/parallelstream/ParallelStreamBoxExample.java @@ -0,0 +1,51 @@ +package com.pratap.java8.parallelstream; + +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.IntStream; +/** + * when not to use parallel stream - unboxing from Integer to int + * @author 835698 + * + */ +public class ParallelStreamBoxExample { + + public static int sequentialSum(List integerList) { + + int sum = 0; + + long startTime = System.currentTimeMillis(); + + sum = integerList.stream().reduce(1, (x, y) -> x + y); + + long duration = System.currentTimeMillis() - startTime; + System.out.println("Time taken in sequential sum : " + duration); + + return sum; + } + + public static int parallelSum(List integerList) { + + int sum = 0; + + long startTime = System.currentTimeMillis(); + + sum = integerList + .parallelStream() + .reduce(1, (x, y) -> x + y); //perform un-boxing from Integer to int behind the scene for each and every value passes to the stream. + + long duration = System.currentTimeMillis() - startTime; + System.out.println("Time taken in parallel sum : " + duration); + + return sum; + } + + public static void main(String[] args) { + + List integerList = IntStream.rangeClosed(1, 10000).boxed().collect(Collectors.toList()); + + sequentialSum(integerList); + parallelSum(integerList); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/parallelstream/ParallelStreamExample.java b/modern-java/src/main/java/com/pratap/java8/parallelstream/ParallelStreamExample.java new file mode 100644 index 0000000..21d1d5f --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/parallelstream/ParallelStreamExample.java @@ -0,0 +1,48 @@ +package com.pratap.java8.parallelstream; + +import java.util.function.Supplier; +import java.util.stream.IntStream; +/** + * use fork/join framework, to split the available stream in to multiple parts depends on available processor, process + * and accumulate the result. + * @author 835698 + * + */ +public class ParallelStreamExample { + + // below methods are a Supplier - No input but return something + + public static int sumSequentialStream() { + return IntStream.rangeClosed(1, 100000).sum(); + } + + public static int sumParallelStream() { + return IntStream.rangeClosed(1, 100000) + .parallel() + .sum(); + } + + public static long checkPerformanceResult(Supplier supplier, int times) { + + long startTime = System.currentTimeMillis(); + + for(int i = 0; i < times; i++) { + supplier.get(); + } + + long endTime = System.currentTimeMillis(); + + return endTime - startTime; + } + + public static void main(String[] args) { + + System.out.println("Available Processor in this machine are : "+Runtime.getRuntime().availableProcessors()); + + System.out.println("Time taken by Sequential processing : "+checkPerformanceResult(ParallelStreamExample::sumSequentialStream, 200)); + + System.out.println("Time taken by Parallel processing : "+checkPerformanceResult(ParallelStreamExample::sumParallelStream, 200)); + + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/parallelstream/Sum.java b/modern-java/src/main/java/com/pratap/java8/parallelstream/Sum.java new file mode 100644 index 0000000..f894c0b --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/parallelstream/Sum.java @@ -0,0 +1,18 @@ +package com.pratap.java8.parallelstream; + +public class Sum { + + private int total; + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public void performSum(int input) { + total += input; + } +} diff --git a/modern-java/src/main/java/com/pratap/java8/sorting/CustomSorting.java b/modern-java/src/main/java/com/pratap/java8/sorting/CustomSorting.java new file mode 100644 index 0000000..45c0beb --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/sorting/CustomSorting.java @@ -0,0 +1,20 @@ +package com.pratap.java8.sorting; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +import java.util.Comparator; +import java.util.List; +import java.util.function.Consumer; +import java.util.stream.Collectors; + +public class CustomSorting { + + public static void main(String[] args) { + List students = StudentDataBase.getAllStudents(); + + List sortedStudents = students.stream().sorted(Comparator.comparing(Student::getName).thenComparing(Student::getGpa)).collect(Collectors.toList()); + + students.forEach(System.out::println); + } +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/StreamOfGenerateIterateExample.java b/modern-java/src/main/java/com/pratap/java8/stream/StreamOfGenerateIterateExample.java new file mode 100644 index 0000000..467fed0 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/StreamOfGenerateIterateExample.java @@ -0,0 +1,20 @@ +package com.pratap.java8.stream; + +import java.util.Random; +import java.util.function.Supplier; +import java.util.stream.Stream; + +public class StreamOfGenerateIterateExample { + + public static void main(String[] args) { + + Stream strStream = Stream.of("Pratap", "Shankar", "Joy"); + strStream.forEach(System.out::println); + + Stream.iterate(1, x -> x+2).limit(10).forEach(System.out::println); + + Supplier randomSuppler = new Random() :: nextInt; + Stream.generate(randomSuppler).limit(10).forEach(System.out::println); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/StreamsComparatorExample.java b/modern-java/src/main/java/com/pratap/java8/stream/StreamsComparatorExample.java new file mode 100644 index 0000000..c8c1401 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/StreamsComparatorExample.java @@ -0,0 +1,22 @@ +package com.pratap.java8.stream; + +import java.util.Comparator; +import java.util.List; +import static java.util.stream.Collectors.toList; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class StreamsComparatorExample { + + // sort student by their name + public static List sortStudentByName(){ + return StudentDataBase.getAllStudents().stream() + .sorted(Comparator.comparing(Student::getName).reversed()) + .collect(toList()); + } + public static void main(String[] args) { + sortStudentByName().forEach(System.out::println); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/StreamsExample.java b/modern-java/src/main/java/com/pratap/java8/stream/StreamsExample.java new file mode 100644 index 0000000..17de50c --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/StreamsExample.java @@ -0,0 +1,28 @@ +package com.pratap.java8.stream; + +import java.util.List; +import java.util.Map; +import java.util.function.Predicate; +import java.util.stream.Collectors; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class StreamsExample { + + public static void main(String[] args) { + + // use case - print those student(name and activities) whose grade level > 3 and gpa >= 3.9 + + Predicate gradeLevelPredicate = student -> student.getGradeLevel() >= 3; + Predicate gpaPredicate = student -> student.getGpa() >= 3.9; + + Map> studentMap = StudentDataBase.getAllStudents().stream() + .filter(gradeLevelPredicate) + .filter(gpaPredicate) + .collect(Collectors.toMap(Student::getName, Student::getActivities)); + + System.out.println(studentMap); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/StreamsFilterExample.java b/modern-java/src/main/java/com/pratap/java8/stream/StreamsFilterExample.java new file mode 100644 index 0000000..81335dc --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/StreamsFilterExample.java @@ -0,0 +1,24 @@ +package com.pratap.java8.stream; + +import java.util.List; +import static java.util.stream.Collectors.toList; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class StreamsFilterExample { + + // filter Student by their gender = F + public static List getFemaleStudents(){ + return + StudentDataBase.getAllStudents().stream() + .filter(student -> student.getGender().equals("female")) + .filter(student -> student.getGpa() >= 3.8) + .collect(toList()); + } + public static void main(String[] args) { + + getFemaleStudents().forEach(System.out::println); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/StreamsFindAnyFirstExample.java b/modern-java/src/main/java/com/pratap/java8/stream/StreamsFindAnyFirstExample.java new file mode 100644 index 0000000..2b88c66 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/StreamsFindAnyFirstExample.java @@ -0,0 +1,42 @@ +package com.pratap.java8.stream; + +import java.util.List; +import java.util.Optional; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class StreamsFindAnyFirstExample { + + public static Optional findAny(List students) { + + return students.stream().filter(student -> student.getGpa() > 3.9).findAny(); + } + + public static Optional findFirst(List students) { + + return students.stream().filter(student -> student.getGpa() > 3.9).findFirst(); + } + + public static void main(String[] args) { + + System.out.println("find Any : "); + Optional findAnyOptinal = findAny(StudentDataBase.getAllStudents()); + + if(findAnyOptinal.isPresent()) { + System.out.println(findAnyOptinal.get()); + } else { + System.out.println("No student present !"); + } + + System.out.println("find First : "); + + Optional findFirstOptional = findFirst(StudentDataBase.getAllStudents()); + if(findFirstOptional.isPresent()) { + System.out.println(findFirstOptional.get()); + } else { + System.out.println("No student present"); + } + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/StreamsFlatMapExample.java b/modern-java/src/main/java/com/pratap/java8/stream/StreamsFlatMapExample.java new file mode 100644 index 0000000..e514b71 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/StreamsFlatMapExample.java @@ -0,0 +1,40 @@ +package com.pratap.java8.stream; + +import java.util.List; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +import static java.util.stream.Collectors.toList; + +public class StreamsFlatMapExample { + + // display all activities of Student + public static List printStudentActivities(){ + return + StudentDataBase.getAllStudents().stream() + .map(Student::getActivities) + .flatMap(List::stream) + .distinct() + .sorted() // sorted in alphabatical order + .collect(toList()); + } + + public static long getStudentActivitiesCount(){ + return + StudentDataBase.getAllStudents().stream() + .map(Student::getActivities) + .flatMap(List::stream) + .distinct() + .count(); + } + + + public static void main(String[] args) { + + System.out.println("printStudentActivities : "+printStudentActivities()); + + System.out.println("getStudentActivitiesCount: "+getStudentActivitiesCount()); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/StreamsLimitSkipExample.java b/modern-java/src/main/java/com/pratap/java8/stream/StreamsLimitSkipExample.java new file mode 100644 index 0000000..80eae87 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/StreamsLimitSkipExample.java @@ -0,0 +1,40 @@ +package com.pratap.java8.stream; + +import java.util.Arrays; +import java.util.List; +import java.util.Optional; + +/** + * Stream API - limit() & skip() + * helps to create a sub stream + */ +public class StreamsLimitSkipExample { + + public static Optional limit(List nums){ + return nums.stream() + .limit(3) + .reduce((x, y) -> x+y);// 2, 3, 4 + } + + public static Optional skip(List nums){ + return nums.stream() + .skip(3) + .reduce((x, y) -> x+y);//6, 8, 10 + } + public static void main(String[] args) { + + List nums = Arrays.asList(2, 3, 4, 6, 8, 10); + + Optional limitOptional = limit(nums); + + if(limitOptional.isPresent()) { + System.out.println("Limit result : "+limitOptional.get()); + } + + Optional skipOptional = skip(nums); + if(skipOptional.isPresent()) { + System.out.println("Skip result : "+skipOptional.get()); + } + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/StreamsMapExample.java b/modern-java/src/main/java/com/pratap/java8/stream/StreamsMapExample.java new file mode 100644 index 0000000..a20635d --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/StreamsMapExample.java @@ -0,0 +1,21 @@ +package com.pratap.java8.stream; + +import java.util.List; +import java.util.stream.Collectors; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class StreamsMapExample { + + // use case - get the student name only from DB and print + public static void main(String[] args) { + + List names = StudentDataBase.getAllStudents().stream() + .map(Student::getName) + .map(String::toUpperCase) + .collect(Collectors.toList()); + System.out.println(names); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/StreamsMapReduceExample.java b/modern-java/src/main/java/com/pratap/java8/stream/StreamsMapReduceExample.java new file mode 100644 index 0000000..679002e --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/StreamsMapReduceExample.java @@ -0,0 +1,24 @@ +package com.pratap.java8.stream; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class StreamsMapReduceExample { + + // get total num of noteBooks in Student DB + public static int getTotalNoteBooks() { + + return StudentDataBase.getAllStudents().stream() + .filter(student -> student.getGradeLevel() > 3) + .filter(student -> student.getGender().equals("female")) + .map(Student::getNoteBooks) + //.reduce(0, (a, b) -> a+b); + .reduce(0, Integer::sum);// In Integer class, there is no such method for multiply, we should go with only above way + } + public static void main(String[] args) { + + System.out.println("Total Books in Student DB : "+getTotalNoteBooks()); + + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/StreamsMatchExample.java b/modern-java/src/main/java/com/pratap/java8/stream/StreamsMatchExample.java new file mode 100644 index 0000000..68ce107 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/StreamsMatchExample.java @@ -0,0 +1,35 @@ +package com.pratap.java8.stream; + +import java.util.List; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class StreamsMatchExample { + + // allMatch + public static boolean allMatch(List students) { + return students.stream().allMatch(student -> student.getGpa() >= 4.5); + } + + // anyMatch + public static boolean anyMatch(List students) { + return students.stream().anyMatch(student -> student.getGpa() >= 3.9); + } + + // noneMatch + public static boolean noneMatch(List students) { + return students.stream().noneMatch(student -> student.getGpa() >= 4.8); + } + + public static void main(String[] args) { + + // students + List students = StudentDataBase.getAllStudents(); + + System.out.println(allMatch(students)); + System.out.println(anyMatch(students)); + System.out.println(noneMatch(students)); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/StreamsMinMaxExample.java b/modern-java/src/main/java/com/pratap/java8/stream/StreamsMinMaxExample.java new file mode 100644 index 0000000..5a9b50d --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/StreamsMinMaxExample.java @@ -0,0 +1,56 @@ +package com.pratap.java8.stream; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Optional; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class StreamsMinMaxExample { + + public static int findMaxValue(List nums) { + return nums.stream() + .reduce(0, (a, b) -> (a > b) ? a : b); + } + + public static Optional findMaxValueOptional(List nums) { + return nums.stream() + .reduce((a, b) -> (a > b) ? a : b); + } + + public static Optional findMinValueOptional(List nums) { + return nums.stream() + .reduce((a, b) -> (a < b) ? a : b); + } + + // highest grade student + public static Optional findHighestGradeStudent(List students){ + return students.stream() + .map(student -> student.getGradeLevel()) + .reduce((gradeLevel1, gradeLevel2) -> (gradeLevel1 > gradeLevel2) ? gradeLevel1 : gradeLevel2 ); + } + public static void main(String[] args) { + + List nums = new ArrayList<>(); + System.out.println("without optional : "+findMaxValue(nums)); + + if(findMaxValueOptional(nums).isPresent()) { + System.out.println("with optional : "+findMaxValueOptional(nums).get()); + } else { + System.out.println("Input list is empty."); + } + + List numList = Arrays.asList(2, 4, 5, 8, 10); + + if(findMinValueOptional(numList).isPresent()) { + System.out.println("min value : "+findMinValueOptional(numList).get()); + } + Optional highestGradeOptional = findHighestGradeStudent(StudentDataBase.getAllStudents()); + if(highestGradeOptional.isPresent()) { + System.out.println("Highest grade in student DB : "+ highestGradeOptional.get()); + } + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/StreamsReduceExample.java b/modern-java/src/main/java/com/pratap/java8/stream/StreamsReduceExample.java new file mode 100644 index 0000000..3280fdb --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/StreamsReduceExample.java @@ -0,0 +1,38 @@ +package com.pratap.java8.stream; + +import java.util.Arrays; +import java.util.List; +import java.util.Optional; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class StreamsReduceExample { + + // perform multiply in nums + public static int performMultiplication(List nums) { + return nums.stream().reduce(1, (a, b) -> a * b); + } + + public static int performAddition(List nums) { + return nums.stream().reduce(0, (a, b) -> a + b); + } + + public static Optional getHighestGpaStudent() { + + return StudentDataBase.getAllStudents().stream() + .reduce((student1, student2) -> (student1.getGpa() > student2.getGpa()) ? student1 : student2); + } + + public static void main(String[] args) { + + List nums = Arrays.asList(2, 3, 5); + System.out.println(performMultiplication(nums)); + System.out.println(performAddition(nums)); + + if (getHighestGpaStudent().isPresent()) { + System.out.println(getHighestGpaStudent().get()); + } + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/numeric/NumericStreamAggregateExample.java b/modern-java/src/main/java/com/pratap/java8/stream/numeric/NumericStreamAggregateExample.java new file mode 100644 index 0000000..06d2a0d --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/numeric/NumericStreamAggregateExample.java @@ -0,0 +1,28 @@ +package com.pratap.java8.stream.numeric; + +import java.util.OptionalDouble; +import java.util.OptionalInt; +import java.util.OptionalLong; +import java.util.stream.IntStream; +import java.util.stream.LongStream; + +public class NumericStreamAggregateExample { + + public static void main(String[] args) { + + int sum = IntStream.rangeClosed(1, 50).sum(); + System.out.println("sum is : "+sum); + + OptionalInt optionalInt = IntStream.rangeClosed(0, 0).max(); + + System.out.println(IntStream.rangeClosed(0, 0).count()); + System.out.println(optionalInt.isPresent()? optionalInt.getAsInt() : 0); + + OptionalLong optionalLong = LongStream.rangeClosed(50, 100).min(); + System.out.println(optionalLong.isPresent() ? optionalLong.getAsLong() : 0); + + OptionalDouble optionalDouble = IntStream.rangeClosed(0, 50).average(); + System.out.println(optionalDouble.isPresent() ? optionalDouble.getAsDouble() : 0); + } + +} diff --git a/modern-java8/src/main/java/com/pratap/java8/stream/numeric/NumericStreamExample.java b/modern-java/src/main/java/com/pratap/java8/stream/terminal/NumericStreamExample.java similarity index 72% rename from modern-java8/src/main/java/com/pratap/java8/stream/numeric/NumericStreamExample.java rename to modern-java/src/main/java/com/pratap/java8/stream/terminal/NumericStreamExample.java index 3c8a16c..20fbd0e 100644 --- a/modern-java8/src/main/java/com/pratap/java8/stream/numeric/NumericStreamExample.java +++ b/modern-java/src/main/java/com/pratap/java8/stream/terminal/NumericStreamExample.java @@ -1,9 +1,16 @@ -package com.pratap.java8.stream.numeric; +package com.pratap.java8.stream.terminal; import java.util.Arrays; import java.util.List; import java.util.stream.IntStream; +/** + * Stream API - reduce() + * Terminal operation, used to reduce the contents of stream to a single value + * It takes two parameters as input + * 1st parameter - default or initial value + * 2nd parameter - BinaryOperator + */ public class NumericStreamExample { public static int sumOfNNumbers(List integerList) { diff --git a/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamCountingExample.java b/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamCountingExample.java new file mode 100644 index 0000000..4757aed --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamCountingExample.java @@ -0,0 +1,19 @@ +package com.pratap.java8.stream.terminal; + +import static java.util.stream.Collectors.counting; + +import com.pratap.java8.mockdata.StudentDataBase; + +public class StreamCountingExample { + + public static long count() { + return StudentDataBase.getAllStudents() + .stream() + .filter(student -> student.getGpa() >= 3.9).count(); + } + public static void main(String[] args) { + + System.out.println(count()); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamGroupingByExample.java b/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamGroupingByExample.java new file mode 100644 index 0000000..56d99e4 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamGroupingByExample.java @@ -0,0 +1,113 @@ +package com.pratap.java8.stream.terminal; + +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +import static java.util.stream.Collectors.groupingBy; +import static java.util.stream.Collectors.summingInt; +import static java.util.stream.Collectors.toSet; +import static java.util.stream.Collectors.maxBy; +import static java.util.stream.Collectors.collectingAndThen; +import static java.util.stream.Collectors.minBy; + +import java.util.Comparator; + +import java.util.LinkedHashMap; + +public class StreamGroupingByExample { + + // use case - 1: group the students based on their gender + + public static List students = StudentDataBase.getAllStudents(); + + public static Map> groupStudentsByGender() { + return students.stream().collect(groupingBy(Student::getGender)); + } + + // use case - 2:if the gpa is 3.8 or greater than it, categorized as outstanding + // student otherwise average student. + + public static Map> customizedGroupingBy() { + return students.stream().collect(groupingBy(student -> student.getGpa() >= 3.8 ? "OUTSTANDING" : "AVERAGE")); + } + + // use case -3 Two level grouping. + + public static void twoLevelGroupingBy_1() { + + Map>> studentMap = students.stream().collect(groupingBy(Student::getGradeLevel, + groupingBy(student -> student.getGpa() >= 3.8 ? "OUTSTANDING" : "AVERAGE"))); + + System.out.println(studentMap); + } + + public static void twoLevelGroupingBy_2() { + + Map StudentNoteBooksMap = students.stream().collect(groupingBy(Student::getName, + summingInt(Student::getNoteBooks))); + + System.out.println(StudentNoteBooksMap); + } + // use case - 3 + public static void threeArgumentGroupBy() { + + LinkedHashMap> studentLinkedHM = students.stream() + .collect(groupingBy(Student::getName, LinkedHashMap::new, toSet())); + + System.out.println(studentLinkedHM); + } + + // use case - 4 calculate top gpa students in each grades and least gpa students in each grade. + + public static void calculateTopGpaOptional() { + Map> studentOptional = students.stream() + .collect(groupingBy(Student::getGradeLevel, + maxBy(Comparator.comparing(Student::getGpa)))); + + System.out.println(studentOptional); + } + + public static void calculateTopGpaStudent() { + Map topGpaStudent = students.stream() + .collect(groupingBy(Student::getGradeLevel, + collectingAndThen(maxBy(Comparator.comparing(Student::getGpa)), Optional::get))); + + System.out.println(topGpaStudent); + } + + public static void calculateMinGpaOptional() { + Map> studentOptional = students.stream() + .collect(groupingBy(Student::getGradeLevel, + minBy(Comparator.comparing(Student::getGpa)))); + + System.out.println(studentOptional); + } + + public static void calculateMinGpaStudent() { + Map topGpaStudent = students.stream() + .collect(groupingBy(Student::getGradeLevel, + collectingAndThen(minBy(Comparator.comparing(Student::getGpa)), Optional::get))); + + System.out.println(topGpaStudent); + } + public static void main(String[] args) { + + System.out.println(groupStudentsByGender()); + + System.out.println(customizedGroupingBy()); + + twoLevelGroupingBy_1(); + twoLevelGroupingBy_2(); + threeArgumentGroupBy(); + calculateTopGpaOptional(); + calculateTopGpaStudent(); + calculateMinGpaOptional(); + calculateMinGpaStudent(); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamJoiningExample.java b/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamJoiningExample.java new file mode 100644 index 0000000..2c7fba9 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamJoiningExample.java @@ -0,0 +1,34 @@ +package com.pratap.java8.stream.terminal; + +import java.util.stream.Collectors; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +public class StreamJoiningExample { + + public static String joining_1() { + return StudentDataBase.getAllStudents().stream() + .map(Student::getName)// Stream + .collect(Collectors.joining()); + } + + public static String joining_2() { + return StudentDataBase.getAllStudents().stream() + .map(Student::getName)// Stream + .collect(Collectors.joining("-")); + } + + public static String joining_3() { + return StudentDataBase.getAllStudents().stream() + .map(Student::getName)// Stream + .collect(Collectors.joining("-", "(", ")")); + } + public static void main(String[] args) { + + System.out.println("joining_1 :"+joining_1()); + System.out.println("joining_2 :"+joining_2()); + System.out.println("joining_3 :"+joining_3()); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamMappingExample.java b/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamMappingExample.java new file mode 100644 index 0000000..261f1d1 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamMappingExample.java @@ -0,0 +1,32 @@ +package com.pratap.java8.stream.terminal; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +import static java.util.stream.Collectors.mapping; +import static java.util.stream.Collectors.toList; +import static java.util.stream.Collectors.toSet; + +import java.util.List; +import java.util.Set; + +public class StreamMappingExample { + + public static void main(String[] args) { + + // use case, get the student names as List from StudentDataBase + List nameList = StudentDataBase.getAllStudents() + .stream() + .collect(mapping(Student::getName, toList())); + + System.out.println(nameList); + + Set nameSet = StudentDataBase.getAllStudents() + .stream() + .collect(mapping(Student::getName, toSet())); + System.out.println(nameSet); + // by doing this, avoid one internal call of mapping + StudentDataBase.getAllStudents().stream().map(Student::getName); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamMinByMaxByExample.java b/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamMinByMaxByExample.java new file mode 100644 index 0000000..5d97e7a --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamMinByMaxByExample.java @@ -0,0 +1,42 @@ +package com.pratap.java8.stream.terminal; + +import java.util.List; +import java.util.Optional; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +import static java.util.stream.Collectors.minBy; +import static java.util.stream.Collectors.maxBy; + +import java.util.Comparator; + +/** + * Terminal Operations - maxBy(), minBy() Comparator as input and Optional as + * output. + * maxBy - this collector used in conjunction with comparator, returns the + * max element based on the property passed to the comparator. + * minBy - this collector used in conjunction with comparator, returns the smallest element + * based on the property passed to the comparator. + * + * @author 835698 + * + */ +public class StreamMinByMaxByExample { + + private static List students = StudentDataBase.getAllStudents(); + + public static Optional minBy_Example(){ + return students.stream().collect(minBy(Comparator.comparing(Student::getGpa))); + } + + public static Optional maxBy_Example(){ + return students.stream().collect(maxBy(Comparator.comparing(Student::getGpa))); + } + public static void main(String[] args) { + + System.out.println(minBy_Example()); + System.out.println(maxBy_Example()); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamPartitioningByExample.java b/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamPartitioningByExample.java new file mode 100644 index 0000000..b8f5894 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamPartitioningByExample.java @@ -0,0 +1,43 @@ +package com.pratap.java8.stream.terminal; + +import static java.util.stream.Collectors.partitioningBy; +import static java.util.stream.Collectors.toSet; + +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.function.Predicate; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; +/** + * Terminal OPeration - partitioningBy() + * is also kind of groupingBy, accept a predicate as input, return type of collector is going to be Map + * The key of return type going to be a boolean + * Two different versions of partitioningBy + * 1. partitioningBy(predicate) + * 2. partitioningBy(predicate, downstream), downstream could be a any collector + * + * @author 835698 + * + */ +public class StreamPartitioningByExample { + + private static List students = StudentDataBase.getAllStudents(); + private static Predicate gpaPredicate = student -> student.getGpa() >= 3.8; + + public static void partitioningBy_1() { + Map> partitioningMap = students.stream().collect(partitioningBy(gpaPredicate)); + System.out.println(partitioningMap); + } + + public static void partitioningBy_2() { + Map> partitioningSet = students.stream().collect(partitioningBy(gpaPredicate, toSet())); + System.out.println(partitioningSet); + } + public static void main(String[] args) { + partitioningBy_1(); + partitioningBy_2(); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamSumAvgExample.java b/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamSumAvgExample.java new file mode 100644 index 0000000..8238513 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/stream/terminal/StreamSumAvgExample.java @@ -0,0 +1,32 @@ +package com.pratap.java8.stream.terminal; + +import java.util.List; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; + +import static java.util.stream.Collectors.summingInt; +import static java.util.stream.Collectors.averagingInt; + +public class StreamSumAvgExample { + + // use case - summation of all note books, that student db has. + private static List students = StudentDataBase.getAllStudents(); + + public static int sum() { + return students.stream() + .collect(summingInt(Student::getNoteBooks)); + } + + public static double avg() { + return students.stream() + .collect(averagingInt(Student::getNoteBooks)); + } + public static void main(String[] args) { + + System.out.println("Total Num of books : "+sum()); + + System.out.println(" Av Total Num of books : "+avg()); + } + +} diff --git a/modern-java/src/main/java/com/pratap/java8/test/NumTypeTest.java b/modern-java/src/main/java/com/pratap/java8/test/NumTypeTest.java new file mode 100644 index 0000000..5d5a3a9 --- /dev/null +++ b/modern-java/src/main/java/com/pratap/java8/test/NumTypeTest.java @@ -0,0 +1,14 @@ +package com.pratap.java8.test; + +public class NumTypeTest { + + public static void main(String[] args) { + +// int x = 3 & 5; +// int y = 3 | 5; + int x = 010; + int y = 07; + System.out.println(x); + System.out.println(y); + } +} diff --git a/modern-java8/src/test/java/com/pratap/comparision/LaptopComparisionTest.java b/modern-java/src/test/java/com/pratap/java/comparision/LaptopComparisionTest.java similarity index 94% rename from modern-java8/src/test/java/com/pratap/comparision/LaptopComparisionTest.java rename to modern-java/src/test/java/com/pratap/java/comparision/LaptopComparisionTest.java index 47eaa27..09edad6 100644 --- a/modern-java8/src/test/java/com/pratap/comparision/LaptopComparisionTest.java +++ b/modern-java/src/test/java/com/pratap/java/comparision/LaptopComparisionTest.java @@ -1,5 +1,6 @@ -package com.pratap.comparision; +package com.pratap.java.comparision; +import com.pratap.comparision.Laptop; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/modern-java/src/test/java/com/pratap/java11/features/StringTest.java b/modern-java/src/test/java/com/pratap/java11/features/StringTest.java new file mode 100644 index 0000000..25e82db --- /dev/null +++ b/modern-java/src/test/java/com/pratap/java11/features/StringTest.java @@ -0,0 +1,45 @@ +package com.pratap.java11.features; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.util.List; +import java.util.stream.Collectors; +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class StringTest { + + @Test + void testLines(){ + String multilineString = "Pratap helps \n \n developers \n explore Java."; + List lines = multilineString.lines()//lines() method breaks the given string into rows + .filter(line -> !line.isBlank()) + .map(String::strip)// strip method removes white space from both ends of the given string + .collect(Collectors.toList()); + assertThat(lines).containsExactly("Pratap helps", "developers", "explore Java."); + + } + + @Test + void testIsBlank(){ + + String notEmptyStr = "No Empty"; + assertFalse(notEmptyStr.isBlank()); + + String emptyStr = ""; + assertTrue(emptyStr.isBlank()); + + String spaceStr = " "; + assertTrue(spaceStr.isBlank()); + } + + @Test + void testRepeat(){ + + String string = "pratap"; + String repeatString = string.repeat(2); + assertThat(repeatString).isEqualTo("pratappratap"); + } +} diff --git a/modern-java/src/test/java/com/pratap/java8/stream/operations/FindFirstAndFindAnyTest.java b/modern-java/src/test/java/com/pratap/java8/stream/operations/FindFirstAndFindAnyTest.java new file mode 100644 index 0000000..a23d20b --- /dev/null +++ b/modern-java/src/test/java/com/pratap/java8/stream/operations/FindFirstAndFindAnyTest.java @@ -0,0 +1,76 @@ +package com.pratap.java8.stream.operations; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.util.List; +import java.util.Optional; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Stream API - findFirst() & findAny() + * used to find an element in a the stream + * both the functions return the result of type Optional + * findFirst() - returns the first element in the stream + * findAny() - returns the first encountered element in the context of parallel stream. + * findAny() behave same as findFirst() in the context of sequential stream + */ +public class FindFirstAndFindAnyTest { + + private List students; + + @BeforeEach + void setup(){ + students = StudentDataBase.getAllStudents(); + } + + @Test + void testFindAnyStudentWRTSequentialStream(){ + Optional result = students.stream() + .filter(student -> student.getGpa() > 3.8) + .findAny(); + + assertTrue(result.isPresent()); + assertThat(result.get()) + .extracting(student -> student.getName().equals("Emily")); + } + + @Test + void testFindAnyStudentWRTParallelStream(){ + Optional result = students.stream().parallel() + .filter(student -> student.getGpa() > 3.8) + .findAny(); + + assertTrue(result.isPresent()); + assertThat(result.get()) + .extracting(student -> student.getName()) + .isIn("Emily", "Dave", "James"); + } + + @Test + void testFindFirstStudentWRTSequentialStream(){ + Optional result = students.stream() + .filter(student -> student.getGpa() > 3.8) + .findFirst(); + + assertTrue(result.isPresent()); + assertThat(result.get()) + .extracting(student -> student.getName().equals("Emily")); + } + + @Test + void testFindFirstStudentWRTParallelStream(){ + Optional result = students.stream() + .parallel() + .filter(student -> student.getGpa() > 3.8) + .findFirst(); + + assertTrue(result.isPresent()); + assertThat(result.get()) + .extracting(student -> student.getName().equals("Emily")); + } +} diff --git a/modern-java/src/test/java/com/pratap/java8/stream/operations/StreamMatchTest.java b/modern-java/src/test/java/com/pratap/java8/stream/operations/StreamMatchTest.java new file mode 100644 index 0000000..0d45ed1 --- /dev/null +++ b/modern-java/src/test/java/com/pratap/java8/stream/operations/StreamMatchTest.java @@ -0,0 +1,55 @@ +package com.pratap.java8.stream.operations; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Stream API - anyMatch(), allMatch() & noneMatch() + * All these functions takes in a Predicate as an input and returns a Boolean as an output + */ +public class StreamMatchTest { + + List students; + + @BeforeEach + void setup(){ + students = StudentDataBase.getAllStudents(); + } + + @Test + void testAllMatch(){ + assertTrue(students.stream().allMatch(student -> student.getGpa() >= 3.5)); + } + + @Test + void testAllMatchNegative(){ + assertFalse(students.stream().allMatch(student -> student.getGpa() >= 4.0)); + } + + @Test + void testAnyMatch(){ + assertTrue(students.stream().anyMatch(student -> student.getGpa() >= 3.9)); + } + + @Test + void testAnyMatchNegative(){ + assertFalse(students.stream().anyMatch(student -> student.getGpa() >= 5.9)); + } + + @Test + void testNoneMatch(){ + assertTrue(students.stream().noneMatch(student -> student.getGpa() == 5.9)); + } + + @Test + void testNoneMatchNegative(){ + assertFalse(students.stream().noneMatch(student -> student.getGpa() == 3.6)); + } +} diff --git a/modern-java/src/test/java/com/pratap/java8/stream/practice/CollectWorkingTest.java b/modern-java/src/test/java/com/pratap/java8/stream/practice/CollectWorkingTest.java new file mode 100644 index 0000000..fe98402 --- /dev/null +++ b/modern-java/src/test/java/com/pratap/java8/stream/practice/CollectWorkingTest.java @@ -0,0 +1,32 @@ +package com.pratap.java8.stream.practice; + + +import java.util.List; + +import com.pratap.java8.mockdata.StudentDataBase; +import org.junit.jupiter.api.Test; + +import static java.util.stream.Collectors.toList; + +import java.util.ArrayList; + +public class CollectWorkingTest { + + @Test + public void understandingCollect() { + + List activities = StudentDataBase.getAllStudents() + .stream() + .map(student -> student.getActivities()) + .flatMap(List::stream) + .collect( + () -> new ArrayList<>(),// supplier + (list, element) -> list.add(element),// accumulator + (list1, list2) -> list1.addAll(list2)// combiner + ); + //.collect(toList()); + + activities.forEach(System.out::println); + } + +} diff --git a/modern-java/src/test/java/com/pratap/java8/stream/practice/DuplicateNumbersInListTest.java b/modern-java/src/test/java/com/pratap/java8/stream/practice/DuplicateNumbersInListTest.java new file mode 100644 index 0000000..5a0cee1 --- /dev/null +++ b/modern-java/src/test/java/com/pratap/java8/stream/practice/DuplicateNumbersInListTest.java @@ -0,0 +1,30 @@ +package com.pratap.java8.stream.practice; + +import org.junit.jupiter.api.Test; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.stream.Collectors; + +import static org.assertj.core.api.Assertions.assertThat; + +public class DuplicateNumbersInListTest { + + private List getDuplicateNumbers(List numbers){ + HashSet set = new HashSet<>(); + return numbers.stream() + .filter(number -> !set.add(number)) + .collect(Collectors.toList()); + } + + @Test + void testGetDuplicateNumbers(){ + List integers = Arrays.asList(12, 21, 12, 32, 23, 32); + List duplicateNumbers = getDuplicateNumbers(integers); + assertThat(duplicateNumbers) + .hasSize(2) + .containsExactly(12, 32); + } + +} diff --git a/modern-java/src/test/java/com/pratap/java8/stream/practice/GroupingByTest.java b/modern-java/src/test/java/com/pratap/java8/stream/practice/GroupingByTest.java new file mode 100644 index 0000000..ffb8b66 --- /dev/null +++ b/modern-java/src/test/java/com/pratap/java8/stream/practice/GroupingByTest.java @@ -0,0 +1,39 @@ +package com.pratap.java8.stream.practice; + +import com.pratap.java8.beans.Employee; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import static java.util.stream.Collectors.groupingBy; +import static java.util.stream.Collectors.summingInt; +import static org.junit.jupiter.api.Assertions.assertAll; +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class GroupingByTest { + + List employees; + + @BeforeEach + public void setUp(){ + this.employees = Arrays.asList( + new Employee("Adam", 10, 1000), + new Employee("Ryan", 20, 2000), + new Employee("Ansh", 10, 3000), + new Employee("Eick", 20, 5000)); + } + + @Test + void testGroupingBy_One(){ + // groupingBy(classifier, downstream) + Map deptSalaryMap = employees.stream() + .collect(groupingBy(Employee::getDepartmentId, summingInt(Employee::getSalary))); + assertAll( + () -> assertEquals(4000, deptSalaryMap.get(10)), + () -> assertEquals(7000, deptSalaryMap.get(20)) + ); + } +} diff --git a/modern-java/src/test/java/com/pratap/java8/stream/practice/MaximumValueElementTest.java b/modern-java/src/test/java/com/pratap/java8/stream/practice/MaximumValueElementTest.java new file mode 100644 index 0000000..d78a6eb --- /dev/null +++ b/modern-java/src/test/java/com/pratap/java8/stream/practice/MaximumValueElementTest.java @@ -0,0 +1,33 @@ +package com.pratap.java8.stream.practice; + +import org.junit.jupiter.api.Test; + +import java.util.Arrays; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class MaximumValueElementTest { + + private int getMaximumValue(List numbers){ + return numbers.stream() + //12 + //21 + //45 + //54 + //65 + //a=0,b=12 from stream, result=12 + //a=12, b=21, r=21 + //a=21, b=45, r=45 + //a=45, b=54, r=54 + //a=54, b=65. r=65 + .reduce(0, (a, b) -> a > b ? a : b); + } + + @Test + void testGetMaximumValue(){ + List numbers = Arrays.asList(12, 21, 45, 54, 65); + int maximumValue = getMaximumValue(numbers); + assertEquals(65, maximumValue); + } +} diff --git a/modern-java/src/test/java/com/pratap/java8/stream/practice/NumberStartingWithOneTest.java b/modern-java/src/test/java/com/pratap/java8/stream/practice/NumberStartingWithOneTest.java new file mode 100644 index 0000000..0783542 --- /dev/null +++ b/modern-java/src/test/java/com/pratap/java8/stream/practice/NumberStartingWithOneTest.java @@ -0,0 +1,30 @@ +package com.pratap.java8.stream.practice; + +import org.junit.jupiter.api.Test; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +import static org.assertj.core.api.Assertions.assertThat; + +public class NumberStartingWithOneTest { + + private List getNumbersStartWithOne(List nums){ + return nums.stream() + .map(num -> num + "") + .filter(str -> str.startsWith("1")) + .map(str -> Integer.parseInt(str)) + .collect(Collectors.toList()); + } + + @Test + void testGetNumbersStartWithOne(){ + List nums = Arrays.asList(12, 21, 22, 19); + List startWithOneNums = getNumbersStartWithOne(nums); + + assertThat(startWithOneNums) + .hasSize(2) + .containsExactly(12, 19); + } +} diff --git a/modern-java/src/test/java/com/pratap/java8/stream/practice/RepeatedAndNonRepeatedCharFindTest.java b/modern-java/src/test/java/com/pratap/java8/stream/practice/RepeatedAndNonRepeatedCharFindTest.java new file mode 100644 index 0000000..2f240b4 --- /dev/null +++ b/modern-java/src/test/java/com/pratap/java8/stream/practice/RepeatedAndNonRepeatedCharFindTest.java @@ -0,0 +1,56 @@ +package com.pratap.java8.stream.practice; + +import org.junit.jupiter.api.Test; + +import java.util.LinkedHashMap; +import java.util.function.Function; +import java.util.stream.Collectors; + +import static java.util.stream.Collectors.counting; +import static java.util.stream.Collectors.groupingBy; +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class RepeatedAndNonRepeatedCharFindTest { + + private char getFirstNonRepeatedChar(String input){ + + return input.chars() + .mapToObj(num -> Character.toLowerCase(Character.valueOf((char) num))) + .collect(groupingBy(Function.identity(), LinkedHashMap::new, counting())) + .entrySet() + .stream() + .filter(entry -> entry.getValue() == 1L) + .map(entry -> entry.getKey()) + .findFirst() + .get(); + + } + + private char getFirstRepeatedChar(String input){ + + return input.chars() + .mapToObj(num -> Character.toLowerCase(Character.valueOf((char) num))) + .collect(groupingBy(Function.identity(), LinkedHashMap::new, counting())) + .entrySet() + .stream() + .filter(entry -> entry.getValue() > 1L) + .map(entry -> entry.getKey()) + .findFirst() + .get(); + + } + + @Test + void testGetFirstNonRepeatedChar(){ + String inputStr = "Hello"; + char result = getFirstNonRepeatedChar(inputStr); + assertEquals('h', result); + } + + @Test + void testGetFirstRepeatedChar(){ + String inputStr = "Hello"; + char result = getFirstRepeatedChar(inputStr); + assertEquals('l', result); + } +} diff --git a/modern-java/src/test/java/com/pratap/java8/stream/practice/TwoStringsAreSameCharsTest.java b/modern-java/src/test/java/com/pratap/java8/stream/practice/TwoStringsAreSameCharsTest.java new file mode 100644 index 0000000..829a5bd --- /dev/null +++ b/modern-java/src/test/java/com/pratap/java8/stream/practice/TwoStringsAreSameCharsTest.java @@ -0,0 +1,39 @@ +package com.pratap.java8.stream.practice; + +import org.junit.jupiter.api.Test; + +import java.util.HashMap; +import java.util.function.Function; + +import static java.util.stream.Collectors.counting; +import static java.util.stream.Collectors.groupingBy; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class TwoStringsAreSameCharsTest { + + private boolean compareTwoStringChars(String str1, String str2){ + + HashMap hashMapOne = str1.chars() + .mapToObj(num -> Character.toLowerCase(Character.valueOf((char) num))) + .collect(groupingBy(Function.identity(), HashMap::new, counting())); + + HashMap hashMapTwo = str2.chars() + .mapToObj(num -> Character.toLowerCase(Character.valueOf((char) num))) + .collect(groupingBy(Function.identity(), HashMap::new, counting())); + + return hashMapOne.entrySet().stream() + .allMatch(entry -> entry.getValue().equals(hashMapTwo.get(entry.getKey()))); + } + + @Test + void testCompareTwoStringChars(){ + + assertTrue(compareTwoStringChars("aabbccdee", "aaccbbeed")); + } + + @Test + void testCompareTwoStringCharsWithDiffString(){ + assertFalse(compareTwoStringChars("aabbccdeeee", "aaccbbeed")); + } +} diff --git a/modern-java/src/test/resources/cars.json b/modern-java/src/test/resources/cars.json new file mode 100644 index 0000000..722143b --- /dev/null +++ b/modern-java/src/test/resources/cars.json @@ -0,0 +1,8002 @@ +[ + { + "id": 1, + "make": "Toyota", + "model": "Highlander", + "price": "23736.62", + "year": 2008, + "color": "Mauv" + }, + { + "id": 2, + "make": "Toyota", + "model": "Solara", + "price": "66403.47", + "year": 2002, + "color": "Fuscia" + }, + { + "id": 3, + "make": "Ford", + "model": "Expedition EL", + "price": "68973.04", + "year": 2010, + "color": "Pink" + }, + { + "id": 4, + "make": "Toyota", + "model": "Previa", + "price": "34881.54", + "year": 1997, + "color": "Indigo" + }, + { + "id": 5, + "make": "Lexus", + "model": "SC", + "price": "20900.33", + "year": 2010, + "color": "Pink" + }, + { + "id": 6, + "make": "Acura", + "model": "MDX", + "price": "87249.54", + "year": 2005, + "color": "Blue" + }, + { + "id": 7, + "make": "Ford", + "model": "Econoline E250", + "price": "33679.71", + "year": 2002, + "color": "Pink" + }, + { + "id": 8, + "make": "Lincoln", + "model": "Navigator L", + "price": "37768.38", + "year": 2009, + "color": "Yellow" + }, + { + "id": 9, + "make": "Toyota", + "model": "Tercel", + "price": "31696.49", + "year": 1997, + "color": "Indigo" + }, + { + "id": 10, + "make": "Ford", + "model": "Mustang", + "price": "65528.11", + "year": 2011, + "color": "Blue" + }, + { + "id": 11, + "make": "Toyota", + "model": "RAV4", + "price": "36050.89", + "year": 2006, + "color": "Pink" + }, + { + "id": 12, + "make": "Hummer", + "model": "H1", + "price": "14187.98", + "year": 1998, + "color": "Red" + }, + { + "id": 13, + "make": "Mercury", + "model": "Mystique", + "price": "6145.60", + "year": 1996, + "color": "Red" + }, + { + "id": 14, + "make": "Volvo", + "model": "S60", + "price": "98783.12", + "year": 2012, + "color": "Maroon" + }, + { + "id": 15, + "make": "Mitsubishi", + "model": "Mirage", + "price": "92560.44", + "year": 2001, + "color": "Mauv" + }, + { + "id": 16, + "make": "Ford", + "model": "Laser", + "price": "16117.68", + "year": 1988, + "color": "Teal" + }, + { + "id": 17, + "make": "Mitsubishi", + "model": "GTO", + "price": "80787.63", + "year": 1993, + "color": "Puce" + }, + { + "id": 18, + "make": "Dodge", + "model": "Caravan", + "price": "91278.31", + "year": 1994, + "color": "Indigo" + }, + { + "id": 19, + "make": "Lamborghini", + "model": "Diablo", + "price": "27438.22", + "year": 1999, + "color": "Teal" + }, + { + "id": 20, + "make": "Subaru", + "model": "Forester", + "price": "90576.85", + "year": 2010, + "color": "Turquoise" + }, + { + "id": 21, + "make": "Lexus", + "model": "GS", + "price": "90959.01", + "year": 2002, + "color": "Violet" + }, + { + "id": 22, + "make": "Land Rover", + "model": "Range Rover", + "price": "33492.54", + "year": 2005, + "color": "Green" + }, + { + "id": 23, + "make": "Corbin", + "model": "Sparrow", + "price": "12295.96", + "year": 1999, + "color": "Puce" + }, + { + "id": 24, + "make": "Audi", + "model": "Allroad", + "price": "52583.00", + "year": 2001, + "color": "Goldenrod" + }, + { + "id": 25, + "make": "Pontiac", + "model": "Trans Sport", + "price": "86768.64", + "year": 1999, + "color": "Violet" + }, + { + "id": 26, + "make": "Chevrolet", + "model": "1500", + "price": "65004.93", + "year": 1999, + "color": "Fuscia" + }, + { + "id": 27, + "make": "Ford", + "model": "Ranger", + "price": "25641.58", + "year": 2008, + "color": "Maroon" + }, + { + "id": 28, + "make": "Chrysler", + "model": "LHS", + "price": "25354.06", + "year": 1997, + "color": "Khaki" + }, + { + "id": 29, + "make": "Saturn", + "model": "VUE", + "price": "71422.42", + "year": 2002, + "color": "Teal" + }, + { + "id": 30, + "make": "Ford", + "model": "Escort", + "price": "63684.54", + "year": 1999, + "color": "Mauv" + }, + { + "id": 31, + "make": "Lamborghini", + "model": "Countach", + "price": "76633.77", + "year": 1989, + "color": "Puce" + }, + { + "id": 32, + "make": "Chevrolet", + "model": "Monte Carlo", + "price": "48987.74", + "year": 1997, + "color": "Khaki" + }, + { + "id": 33, + "make": "Mitsubishi", + "model": "Galant", + "price": "93541.96", + "year": 1995, + "color": "Violet" + }, + { + "id": 34, + "make": "Chevrolet", + "model": "SSR", + "price": "6861.85", + "year": 2003, + "color": "Khaki" + }, + { + "id": 35, + "make": "Toyota", + "model": "Venza", + "price": "69925.27", + "year": 2009, + "color": "Fuscia" + }, + { + "id": 36, + "make": "Lincoln", + "model": "Town Car", + "price": "39388.71", + "year": 1988, + "color": "Green" + }, + { + "id": 37, + "make": "Hummer", + "model": "H2", + "price": "43882.36", + "year": 2003, + "color": "Puce" + }, + { + "id": 38, + "make": "Infiniti", + "model": "QX", + "price": "74691.26", + "year": 2010, + "color": "Teal" + }, + { + "id": 39, + "make": "Maserati", + "model": "GranTurismo", + "price": "64608.82", + "year": 2011, + "color": "Fuscia" + }, + { + "id": 40, + "make": "Pontiac", + "model": "Turbo Firefly", + "price": "67582.93", + "year": 1988, + "color": "Khaki" + }, + { + "id": 41, + "make": "Mitsubishi", + "model": "Endeavor", + "price": "88526.65", + "year": 2005, + "color": "Crimson" + }, + { + "id": 42, + "make": "Mercedes-Benz", + "model": "E-Class", + "price": "99129.26", + "year": 2001, + "color": "Violet" + }, + { + "id": 43, + "make": "Pontiac", + "model": "Grand Prix", + "price": "38983.66", + "year": 1970, + "color": "Maroon" + }, + { + "id": 44, + "make": "Volkswagen", + "model": "Golf", + "price": "89434.21", + "year": 2010, + "color": "Red" + }, + { + "id": 45, + "make": "Subaru", + "model": "Justy", + "price": "63901.09", + "year": 1988, + "color": "Teal" + }, + { + "id": 46, + "make": "BMW", + "model": "X5 M", + "price": "14194.46", + "year": 2013, + "color": "Blue" + }, + { + "id": 47, + "make": "Mazda", + "model": "929", + "price": "19263.84", + "year": 1995, + "color": "Fuscia" + }, + { + "id": 48, + "make": "Hyundai", + "model": "Tiburon", + "price": "98896.61", + "year": 2009, + "color": "Blue" + }, + { + "id": 49, + "make": "Audi", + "model": "4000", + "price": "46679.66", + "year": 1987, + "color": "Maroon" + }, + { + "id": 50, + "make": "Chevrolet", + "model": "Express 3500", + "price": "34007.45", + "year": 2009, + "color": "Indigo" + }, + { + "id": 51, + "make": "Pontiac", + "model": "Firebird", + "price": "95547.92", + "year": 1987, + "color": "Khaki" + }, + { + "id": 52, + "make": "Chrysler", + "model": "LeBaron", + "price": "63537.36", + "year": 1995, + "color": "Blue" + }, + { + "id": 53, + "make": "Isuzu", + "model": "Space", + "price": "94241.06", + "year": 1994, + "color": "Orange" + }, + { + "id": 54, + "make": "Ford", + "model": "E150", + "price": "24739.83", + "year": 2012, + "color": "Orange" + }, + { + "id": 55, + "make": "Smart", + "model": "Fortwo", + "price": "31964.39", + "year": 2010, + "color": "Yellow" + }, + { + "id": 56, + "make": "Ferrari", + "model": "California", + "price": "56259.83", + "year": 2010, + "color": "Goldenrod" + }, + { + "id": 57, + "make": "Chevrolet", + "model": "TrailBlazer", + "price": "87497.23", + "year": 2004, + "color": "Mauv" + }, + { + "id": 58, + "make": "Suzuki", + "model": "SX4", + "price": "12202.32", + "year": 2007, + "color": "Khaki" + }, + { + "id": 59, + "make": "Cadillac", + "model": "CTS", + "price": "10281.25", + "year": 2011, + "color": "Mauv" + }, + { + "id": 60, + "make": "Cadillac", + "model": "Escalade ESV", + "price": "71568.58", + "year": 2010, + "color": "Blue" + }, + { + "id": 61, + "make": "Mercedes-Benz", + "model": "SL-Class", + "price": "22999.95", + "year": 2008, + "color": "Blue" + }, + { + "id": 62, + "make": "Lexus", + "model": "LS", + "price": "70192.44", + "year": 2006, + "color": "Maroon" + }, + { + "id": 63, + "make": "Pontiac", + "model": "Daewoo Kalos", + "price": "29684.26", + "year": 2006, + "color": "Teal" + }, + { + "id": 64, + "make": "Mazda", + "model": "Protege", + "price": "16615.45", + "year": 1996, + "color": "Puce" + }, + { + "id": 65, + "make": "Porsche", + "model": "Panamera", + "price": "7486.86", + "year": 2010, + "color": "Aquamarine" + }, + { + "id": 66, + "make": "Honda", + "model": "Accord", + "price": "48899.04", + "year": 1983, + "color": "Aquamarine" + }, + { + "id": 67, + "make": "Mazda", + "model": "RX-8", + "price": "95614.14", + "year": 2005, + "color": "Maroon" + }, + { + "id": 68, + "make": "Toyota", + "model": "Prius Plug-in", + "price": "92507.06", + "year": 2012, + "color": "Purple" + }, + { + "id": 69, + "make": "Buick", + "model": "Coachbuilder", + "price": "60413.56", + "year": 1994, + "color": "Teal" + }, + { + "id": 70, + "make": "GMC", + "model": "Savana 1500", + "price": "40806.87", + "year": 1997, + "color": "Red" + }, + { + "id": 71, + "make": "Jeep", + "model": "Wrangler", + "price": "32151.98", + "year": 2001, + "color": "Violet" + }, + { + "id": 72, + "make": "Ford", + "model": "Thunderbird", + "price": "9782.72", + "year": 1965, + "color": "Mauv" + }, + { + "id": 73, + "make": "Jeep", + "model": "Grand Cherokee", + "price": "90199.32", + "year": 2012, + "color": "Blue" + }, + { + "id": 74, + "make": "Saturn", + "model": "S-Series", + "price": "18921.49", + "year": 1999, + "color": "Fuscia" + }, + { + "id": 75, + "make": "Ford", + "model": "LTD Crown Victoria", + "price": "64176.10", + "year": 1985, + "color": "Teal" + }, + { + "id": 76, + "make": "Pontiac", + "model": "Firebird", + "price": "83071.11", + "year": 2000, + "color": "Teal" + }, + { + "id": 77, + "make": "Buick", + "model": "LaCrosse", + "price": "93295.81", + "year": 2010, + "color": "Blue" + }, + { + "id": 78, + "make": "Nissan", + "model": "GT-R", + "price": "74700.05", + "year": 2013, + "color": "Violet" + }, + { + "id": 79, + "make": "BMW", + "model": "3 Series", + "price": "74583.95", + "year": 2007, + "color": "Aquamarine" + }, + { + "id": 80, + "make": "BMW", + "model": "745", + "price": "84013.53", + "year": 2004, + "color": "Turquoise" + }, + { + "id": 81, + "make": "Acura", + "model": "Legend", + "price": "98471.73", + "year": 1987, + "color": "Yellow" + }, + { + "id": 82, + "make": "Kia", + "model": "Sedona", + "price": "13145.96", + "year": 2003, + "color": "Maroon" + }, + { + "id": 83, + "make": "Mitsubishi", + "model": "Lancer", + "price": "19133.51", + "year": 2011, + "color": "Blue" + }, + { + "id": 84, + "make": "Toyota", + "model": "Land Cruiser", + "price": "55450.54", + "year": 2010, + "color": "Green" + }, + { + "id": 85, + "make": "Volkswagen", + "model": "Routan", + "price": "43511.97", + "year": 2009, + "color": "Aquamarine" + }, + { + "id": 86, + "make": "Ford", + "model": "Explorer", + "price": "95643.62", + "year": 1995, + "color": "Orange" + }, + { + "id": 87, + "make": "Chevrolet", + "model": "Silverado 2500", + "price": "74400.88", + "year": 2012, + "color": "Purple" + }, + { + "id": 88, + "make": "Ford", + "model": "Expedition", + "price": "84361.90", + "year": 2009, + "color": "Yellow" + }, + { + "id": 89, + "make": "Mitsubishi", + "model": "Pajero", + "price": "39089.61", + "year": 1995, + "color": "Goldenrod" + }, + { + "id": 90, + "make": "Jeep", + "model": "Grand Cherokee", + "price": "47686.03", + "year": 2007, + "color": "Orange" + }, + { + "id": 91, + "make": "Lamborghini", + "model": "Diablo", + "price": "39410.57", + "year": 1997, + "color": "Teal" + }, + { + "id": 92, + "make": "Ford", + "model": "LTD Crown Victoria", + "price": "8696.43", + "year": 1993, + "color": "Pink" + }, + { + "id": 93, + "make": "Chevrolet", + "model": "Corvette", + "price": "28794.80", + "year": 2012, + "color": "Green" + }, + { + "id": 94, + "make": "Nissan", + "model": "Pathfinder", + "price": "43884.95", + "year": 2000, + "color": "Green" + }, + { + "id": 95, + "make": "Volkswagen", + "model": "Passat", + "price": "65050.34", + "year": 2000, + "color": "Purple" + }, + { + "id": 96, + "make": "Mazda", + "model": "Miata MX-5", + "price": "36391.78", + "year": 1995, + "color": "Puce" + }, + { + "id": 97, + "make": "Isuzu", + "model": "Space", + "price": "41860.48", + "year": 1992, + "color": "Crimson" + }, + { + "id": 98, + "make": "Nissan", + "model": "Quest", + "price": "26792.50", + "year": 2004, + "color": "Yellow" + }, + { + "id": 99, + "make": "Chevrolet", + "model": "Silverado 3500", + "price": "53421.99", + "year": 2008, + "color": "Turquoise" + }, + { + "id": 100, + "make": "Toyota", + "model": "Sequoia", + "price": "35504.68", + "year": 2010, + "color": "Turquoise" + }, + { + "id": 101, + "make": "Bentley", + "model": "Continental", + "price": "14564.21", + "year": 2005, + "color": "Fuscia" + }, + { + "id": 102, + "make": "Mitsubishi", + "model": "Montero", + "price": "68518.53", + "year": 1992, + "color": "Turquoise" + }, + { + "id": 103, + "make": "Maserati", + "model": "Quattroporte", + "price": "70709.42", + "year": 2011, + "color": "Pink" + }, + { + "id": 104, + "make": "Porsche", + "model": "Boxster", + "price": "87540.59", + "year": 2008, + "color": "Red" + }, + { + "id": 105, + "make": "Ford", + "model": "Explorer", + "price": "29126.03", + "year": 1998, + "color": "Crimson" + }, + { + "id": 106, + "make": "Chevrolet", + "model": "Avalanche 2500", + "price": "35418.67", + "year": 2006, + "color": "Yellow" + }, + { + "id": 107, + "make": "Mercedes-Benz", + "model": "C-Class", + "price": "45849.79", + "year": 1993, + "color": "Purple" + }, + { + "id": 108, + "make": "Volkswagen", + "model": "GTI", + "price": "49995.28", + "year": 1987, + "color": "Blue" + }, + { + "id": 109, + "make": "Saab", + "model": "9-7X", + "price": "56902.39", + "year": 2005, + "color": "Mauv" + }, + { + "id": 110, + "make": "Audi", + "model": "90", + "price": "33268.78", + "year": 1990, + "color": "Red" + }, + { + "id": 111, + "make": "Chevrolet", + "model": "Corvette", + "price": "27556.26", + "year": 1970, + "color": "Green" + }, + { + "id": 112, + "make": "GMC", + "model": "Sierra 3500HD", + "price": "37317.31", + "year": 2006, + "color": "Mauv" + }, + { + "id": 113, + "make": "Ford", + "model": "Crown Victoria", + "price": "84192.03", + "year": 2005, + "color": "Puce" + }, + { + "id": 114, + "make": "Dodge", + "model": "Durango", + "price": "6513.16", + "year": 2001, + "color": "Mauv" + }, + { + "id": 115, + "make": "Audi", + "model": "A5", + "price": "29206.41", + "year": 2010, + "color": "Turquoise" + }, + { + "id": 116, + "make": "Mercedes-Benz", + "model": "S-Class", + "price": "90776.79", + "year": 2009, + "color": "Red" + }, + { + "id": 117, + "make": "Lotus", + "model": "Esprit", + "price": "16362.61", + "year": 2004, + "color": "Green" + }, + { + "id": 118, + "make": "Plymouth", + "model": "Reliant", + "price": "66321.81", + "year": 1981, + "color": "Orange" + }, + { + "id": 119, + "make": "GMC", + "model": "Yukon", + "price": "41417.77", + "year": 1994, + "color": "Mauv" + }, + { + "id": 120, + "make": "Ford", + "model": "F250", + "price": "41160.38", + "year": 1994, + "color": "Purple" + }, + { + "id": 121, + "make": "Saab", + "model": "9-5", + "price": "78348.52", + "year": 2011, + "color": "Red" + }, + { + "id": 122, + "make": "Chrysler", + "model": "New Yorker", + "price": "19728.22", + "year": 1992, + "color": "Maroon" + }, + { + "id": 123, + "make": "Chevrolet", + "model": "Malibu", + "price": "66977.87", + "year": 2005, + "color": "Green" + }, + { + "id": 124, + "make": "Oldsmobile", + "model": "Cutlass Cruiser", + "price": "65956.20", + "year": 1993, + "color": "Khaki" + }, + { + "id": 125, + "make": "Ford", + "model": "Econoline E150", + "price": "91309.42", + "year": 1998, + "color": "Red" + }, + { + "id": 126, + "make": "Ford", + "model": "Festiva", + "price": "37487.83", + "year": 1991, + "color": "Aquamarine" + }, + { + "id": 127, + "make": "Toyota", + "model": "Sienna", + "price": "39798.17", + "year": 2009, + "color": "Fuscia" + }, + { + "id": 128, + "make": "Mitsubishi", + "model": "Mighty Max Macro", + "price": "28450.07", + "year": 1993, + "color": "Green" + }, + { + "id": 129, + "make": "Aston Martin", + "model": "V8 Vantage", + "price": "42854.27", + "year": 2006, + "color": "Green" + }, + { + "id": 130, + "make": "Pontiac", + "model": "Firebird", + "price": "43095.28", + "year": 1993, + "color": "Violet" + }, + { + "id": 131, + "make": "Volvo", + "model": "S40", + "price": "85454.46", + "year": 2003, + "color": "Teal" + }, + { + "id": 132, + "make": "Audi", + "model": "Q7", + "price": "33333.43", + "year": 2011, + "color": "Teal" + }, + { + "id": 133, + "make": "Audi", + "model": "90", + "price": "43086.20", + "year": 1994, + "color": "Fuscia" + }, + { + "id": 134, + "make": "Dodge", + "model": "Durango", + "price": "67115.92", + "year": 2004, + "color": "Fuscia" + }, + { + "id": 135, + "make": "Ford", + "model": "Probe", + "price": "98156.86", + "year": 1995, + "color": "Violet" + }, + { + "id": 136, + "make": "Pontiac", + "model": "Firebird Trans Am", + "price": "62525.95", + "year": 1986, + "color": "Maroon" + }, + { + "id": 137, + "make": "Buick", + "model": "Lucerne", + "price": "94804.57", + "year": 2007, + "color": "Indigo" + }, + { + "id": 138, + "make": "Cadillac", + "model": "DeVille", + "price": "61239.78", + "year": 2003, + "color": "Blue" + }, + { + "id": 139, + "make": "Audi", + "model": "80", + "price": "89183.17", + "year": 1992, + "color": "Indigo" + }, + { + "id": 140, + "make": "Dodge", + "model": "Dakota", + "price": "96945.89", + "year": 2005, + "color": "Pink" + }, + { + "id": 141, + "make": "Honda", + "model": "Fit", + "price": "47582.12", + "year": 2011, + "color": "Aquamarine" + }, + { + "id": 142, + "make": "Toyota", + "model": "Camry", + "price": "70692.76", + "year": 2003, + "color": "Red" + }, + { + "id": 143, + "make": "Buick", + "model": "Skylark", + "price": "9031.94", + "year": 1997, + "color": "Yellow" + }, + { + "id": 144, + "make": "BMW", + "model": "X6", + "price": "35471.17", + "year": 2013, + "color": "Yellow" + }, + { + "id": 145, + "make": "Ford", + "model": "Thunderbird", + "price": "80358.23", + "year": 1997, + "color": "Fuscia" + }, + { + "id": 146, + "make": "Ford", + "model": "E250", + "price": "57926.05", + "year": 2009, + "color": "Pink" + }, + { + "id": 147, + "make": "Lincoln", + "model": "Town Car", + "price": "47330.81", + "year": 1988, + "color": "Orange" + }, + { + "id": 148, + "make": "Dodge", + "model": "Stratus", + "price": "58625.72", + "year": 1996, + "color": "Indigo" + }, + { + "id": 149, + "make": "Pontiac", + "model": "Grand Am", + "price": "80581.15", + "year": 2000, + "color": "Yellow" + }, + { + "id": 150, + "make": "Nissan", + "model": "Sentra", + "price": "72513.19", + "year": 1994, + "color": "Goldenrod" + }, + { + "id": 151, + "make": "BMW", + "model": "3 Series", + "price": "86950.60", + "year": 1996, + "color": "Indigo" + }, + { + "id": 152, + "make": "Mazda", + "model": "B-Series", + "price": "65477.56", + "year": 1991, + "color": "Crimson" + }, + { + "id": 153, + "make": "Subaru", + "model": "Forester", + "price": "81298.69", + "year": 2008, + "color": "Teal" + }, + { + "id": 154, + "make": "Oldsmobile", + "model": "Silhouette", + "price": "49429.29", + "year": 1997, + "color": "Khaki" + }, + { + "id": 155, + "make": "Chevrolet", + "model": "G-Series G20", + "price": "78369.18", + "year": 1992, + "color": "Crimson" + }, + { + "id": 156, + "make": "Lincoln", + "model": "LS", + "price": "7219.42", + "year": 2004, + "color": "Yellow" + }, + { + "id": 157, + "make": "Bentley", + "model": "Continental GTC", + "price": "52788.47", + "year": 2010, + "color": "Goldenrod" + }, + { + "id": 158, + "make": "Aston Martin", + "model": "V12 Vantage", + "price": "56608.19", + "year": 2011, + "color": "Blue" + }, + { + "id": 159, + "make": "Lincoln", + "model": "Continental", + "price": "8725.35", + "year": 2002, + "color": "Green" + }, + { + "id": 160, + "make": "Dodge", + "model": "Ram 2500 Club", + "price": "33427.83", + "year": 1998, + "color": "Orange" + }, + { + "id": 161, + "make": "MINI", + "model": "Cooper Clubman", + "price": "17738.41", + "year": 2012, + "color": "Crimson" + }, + { + "id": 162, + "make": "Lincoln", + "model": "MKX", + "price": "17969.72", + "year": 2011, + "color": "Puce" + }, + { + "id": 163, + "make": "Maserati", + "model": "430", + "price": "18209.93", + "year": 1990, + "color": "Orange" + }, + { + "id": 164, + "make": "Ford", + "model": "Bronco", + "price": "18464.90", + "year": 1996, + "color": "Puce" + }, + { + "id": 165, + "make": "Ford", + "model": "F350", + "price": "25126.94", + "year": 2009, + "color": "Pink" + }, + { + "id": 166, + "make": "Ford", + "model": "F-Series", + "price": "90531.10", + "year": 1992, + "color": "Orange" + }, + { + "id": 167, + "make": "Ford", + "model": "F-350 Super Duty", + "price": "82842.61", + "year": 2006, + "color": "Puce" + }, + { + "id": 168, + "make": "Audi", + "model": "RS4", + "price": "82221.47", + "year": 2008, + "color": "Yellow" + }, + { + "id": 169, + "make": "Ford", + "model": "C-MAX Hybrid", + "price": "6698.72", + "year": 2013, + "color": "Puce" + }, + { + "id": 170, + "make": "Lincoln", + "model": "MKZ", + "price": "84991.44", + "year": 2008, + "color": "Green" + }, + { + "id": 171, + "make": "Audi", + "model": "S6", + "price": "22583.31", + "year": 2011, + "color": "Blue" + }, + { + "id": 172, + "make": "Mercedes-Benz", + "model": "E-Class", + "price": "92831.56", + "year": 1988, + "color": "Crimson" + }, + { + "id": 173, + "make": "Cadillac", + "model": "Seville", + "price": "46119.78", + "year": 2003, + "color": "Yellow" + }, + { + "id": 174, + "make": "Chevrolet", + "model": "Suburban 2500", + "price": "88470.34", + "year": 1993, + "color": "Maroon" + }, + { + "id": 175, + "make": "Land Rover", + "model": "Range Rover", + "price": "98751.62", + "year": 2008, + "color": "Fuscia" + }, + { + "id": 176, + "make": "Mazda", + "model": "Mazda6", + "price": "42698.36", + "year": 2004, + "color": "Turquoise" + }, + { + "id": 177, + "make": "BMW", + "model": "7 Series", + "price": "52832.90", + "year": 1992, + "color": "Fuscia" + }, + { + "id": 178, + "make": "Ford", + "model": "Festiva", + "price": "42782.03", + "year": 1990, + "color": "Green" + }, + { + "id": 179, + "make": "Dodge", + "model": "Dakota Club", + "price": "90456.29", + "year": 2007, + "color": "Teal" + }, + { + "id": 180, + "make": "Volkswagen", + "model": "rio", + "price": "43274.65", + "year": 1996, + "color": "Red" + }, + { + "id": 181, + "make": "Isuzu", + "model": "Trooper", + "price": "69932.64", + "year": 1992, + "color": "Purple" + }, + { + "id": 182, + "make": "BMW", + "model": "7 Series", + "price": "37345.47", + "year": 1992, + "color": "Blue" + }, + { + "id": 183, + "make": "Jaguar", + "model": "X-Type", + "price": "39039.91", + "year": 2007, + "color": "Pink" + }, + { + "id": 184, + "make": "Ford", + "model": "E250", + "price": "15087.05", + "year": 2009, + "color": "Orange" + }, + { + "id": 185, + "make": "Acura", + "model": "RL", + "price": "47734.20", + "year": 2012, + "color": "Purple" + }, + { + "id": 186, + "make": "GMC", + "model": "1500 Club Coupe", + "price": "84115.10", + "year": 1997, + "color": "Turquoise" + }, + { + "id": 187, + "make": "Lexus", + "model": "ES", + "price": "61354.49", + "year": 2003, + "color": "Indigo" + }, + { + "id": 188, + "make": "Honda", + "model": "Civic", + "price": "86422.09", + "year": 2010, + "color": "Yellow" + }, + { + "id": 189, + "make": "Saab", + "model": "9-3", + "price": "9639.26", + "year": 2012, + "color": "Green" + }, + { + "id": 190, + "make": "Oldsmobile", + "model": "Achieva", + "price": "78118.63", + "year": 1993, + "color": "Yellow" + }, + { + "id": 191, + "make": "Aston Martin", + "model": "DB9", + "price": "55423.55", + "year": 2012, + "color": "Turquoise" + }, + { + "id": 192, + "make": "Kia", + "model": "Optima", + "price": "59049.97", + "year": 2004, + "color": "Khaki" + }, + { + "id": 193, + "make": "Ford", + "model": "Aspire", + "price": "45388.60", + "year": 1995, + "color": "Fuscia" + }, + { + "id": 194, + "make": "Dodge", + "model": "Grand Caravan", + "price": "82001.35", + "year": 2005, + "color": "Mauv" + }, + { + "id": 195, + "make": "Chevrolet", + "model": "Corvette", + "price": "54031.35", + "year": 1954, + "color": "Pink" + }, + { + "id": 196, + "make": "Jaguar", + "model": "XK Series", + "price": "57805.28", + "year": 2013, + "color": "Maroon" + }, + { + "id": 197, + "make": "Pontiac", + "model": "Firebird Formula", + "price": "48739.70", + "year": 1999, + "color": "Turquoise" + }, + { + "id": 198, + "make": "Chevrolet", + "model": "Silverado", + "price": "77001.58", + "year": 2007, + "color": "Red" + }, + { + "id": 199, + "make": "GMC", + "model": "Envoy XUV", + "price": "39778.72", + "year": 2005, + "color": "Yellow" + }, + { + "id": 200, + "make": "Mazda", + "model": "Mazda6", + "price": "85012.54", + "year": 2008, + "color": "Violet" + }, + { + "id": 201, + "make": "Scion", + "model": "tC", + "price": "11670.86", + "year": 2012, + "color": "Maroon" + }, + { + "id": 202, + "make": "Audi", + "model": "A4", + "price": "82976.69", + "year": 2006, + "color": "Green" + }, + { + "id": 203, + "make": "Acura", + "model": "RL", + "price": "35282.55", + "year": 1999, + "color": "Fuscia" + }, + { + "id": 204, + "make": "Porsche", + "model": "911", + "price": "10195.39", + "year": 2006, + "color": "Violet" + }, + { + "id": 205, + "make": "GMC", + "model": "Savana 3500", + "price": "18907.26", + "year": 2005, + "color": "Turquoise" + }, + { + "id": 206, + "make": "Mitsubishi", + "model": "Galant", + "price": "18564.09", + "year": 1997, + "color": "Orange" + }, + { + "id": 207, + "make": "GMC", + "model": "Savana 2500", + "price": "6096.19", + "year": 2012, + "color": "Violet" + }, + { + "id": 208, + "make": "BMW", + "model": "X3", + "price": "81875.73", + "year": 2012, + "color": "Crimson" + }, + { + "id": 209, + "make": "Porsche", + "model": "Boxster", + "price": "58105.99", + "year": 1999, + "color": "Purple" + }, + { + "id": 210, + "make": "Audi", + "model": "Coupe GT", + "price": "51939.58", + "year": 1986, + "color": "Puce" + }, + { + "id": 211, + "make": "Ford", + "model": "Mustang", + "price": "22388.51", + "year": 1990, + "color": "Indigo" + }, + { + "id": 212, + "make": "Audi", + "model": "Q7", + "price": "59565.76", + "year": 2010, + "color": "Red" + }, + { + "id": 213, + "make": "Jeep", + "model": "Liberty", + "price": "40593.54", + "year": 2008, + "color": "Turquoise" + }, + { + "id": 214, + "make": "Buick", + "model": "LaCrosse", + "price": "32524.02", + "year": 2009, + "color": "Pink" + }, + { + "id": 215, + "make": "Chrysler", + "model": "Town & Country", + "price": "74633.12", + "year": 2006, + "color": "Pink" + }, + { + "id": 216, + "make": "Toyota", + "model": "MR2", + "price": "89987.32", + "year": 1992, + "color": "Teal" + }, + { + "id": 217, + "make": "Dodge", + "model": "Charger", + "price": "79874.11", + "year": 1968, + "color": "Orange" + }, + { + "id": 218, + "make": "Lexus", + "model": "LS", + "price": "23363.65", + "year": 1998, + "color": "Indigo" + }, + { + "id": 219, + "make": "BMW", + "model": "750", + "price": "74629.36", + "year": 2006, + "color": "Green" + }, + { + "id": 220, + "make": "Toyota", + "model": "Celica", + "price": "44588.56", + "year": 1998, + "color": "Pink" + }, + { + "id": 221, + "make": "Dodge", + "model": "Grand Caravan", + "price": "86703.00", + "year": 2002, + "color": "Indigo" + }, + { + "id": 222, + "make": "Dodge", + "model": "Dakota Club", + "price": "95062.15", + "year": 2003, + "color": "Aquamarine" + }, + { + "id": 223, + "make": "Mazda", + "model": "Mazdaspeed 3", + "price": "57883.74", + "year": 2010, + "color": "Orange" + }, + { + "id": 224, + "make": "Chevrolet", + "model": "Tahoe", + "price": "97928.28", + "year": 1998, + "color": "Mauv" + }, + { + "id": 225, + "make": "Cadillac", + "model": "Escalade ESV", + "price": "55587.61", + "year": 2010, + "color": "Maroon" + }, + { + "id": 226, + "make": "Audi", + "model": "A3", + "price": "97544.29", + "year": 2011, + "color": "Khaki" + }, + { + "id": 227, + "make": "Land Rover", + "model": "Freelander", + "price": "59566.73", + "year": 2002, + "color": "Turquoise" + }, + { + "id": 228, + "make": "GMC", + "model": "Sierra 3500", + "price": "95310.60", + "year": 2003, + "color": "Puce" + }, + { + "id": 229, + "make": "Chrysler", + "model": "Fifth Ave", + "price": "72324.75", + "year": 1993, + "color": "Fuscia" + }, + { + "id": 230, + "make": "Mercedes-Benz", + "model": "CL-Class", + "price": "18369.18", + "year": 2008, + "color": "Pink" + }, + { + "id": 231, + "make": "Subaru", + "model": "B9 Tribeca", + "price": "64694.19", + "year": 2007, + "color": "Khaki" + }, + { + "id": 232, + "make": "Dodge", + "model": "D250", + "price": "48791.94", + "year": 1992, + "color": "Purple" + }, + { + "id": 233, + "make": "Honda", + "model": "Prelude", + "price": "73427.34", + "year": 1985, + "color": "Teal" + }, + { + "id": 234, + "make": "Buick", + "model": "Skylark", + "price": "60975.00", + "year": 1990, + "color": "Violet" + }, + { + "id": 235, + "make": "Plymouth", + "model": "Voyager", + "price": "86843.73", + "year": 1993, + "color": "Goldenrod" + }, + { + "id": 236, + "make": "GMC", + "model": "Sonoma", + "price": "95535.70", + "year": 1994, + "color": "Blue" + }, + { + "id": 237, + "make": "Cadillac", + "model": "Catera", + "price": "83323.14", + "year": 1998, + "color": "Teal" + }, + { + "id": 238, + "make": "Citroën", + "model": "SM", + "price": "73926.23", + "year": 1972, + "color": "Red" + }, + { + "id": 239, + "make": "Toyota", + "model": "Camry", + "price": "93345.30", + "year": 1997, + "color": "Teal" + }, + { + "id": 240, + "make": "Dodge", + "model": "Neon", + "price": "60665.67", + "year": 1999, + "color": "Maroon" + }, + { + "id": 241, + "make": "Lamborghini", + "model": "Murciélago", + "price": "92985.68", + "year": 2005, + "color": "Puce" + }, + { + "id": 242, + "make": "Dodge", + "model": "Charger", + "price": "61993.97", + "year": 1970, + "color": "Maroon" + }, + { + "id": 243, + "make": "Chevrolet", + "model": "S10", + "price": "39952.70", + "year": 1999, + "color": "Puce" + }, + { + "id": 244, + "make": "Mercedes-Benz", + "model": "S-Class", + "price": "47274.68", + "year": 1996, + "color": "Pink" + }, + { + "id": 245, + "make": "Dodge", + "model": "Caravan", + "price": "79627.31", + "year": 2008, + "color": "Puce" + }, + { + "id": 246, + "make": "Volkswagen", + "model": "Golf", + "price": "61755.48", + "year": 2000, + "color": "Fuscia" + }, + { + "id": 247, + "make": "Oldsmobile", + "model": "Bravada", + "price": "22195.47", + "year": 2002, + "color": "Fuscia" + }, + { + "id": 248, + "make": "Toyota", + "model": "Tundra", + "price": "64392.74", + "year": 2008, + "color": "Goldenrod" + }, + { + "id": 249, + "make": "Dodge", + "model": "Ram Van 2500", + "price": "65331.88", + "year": 1998, + "color": "Aquamarine" + }, + { + "id": 250, + "make": "Ford", + "model": "Focus ST", + "price": "18896.55", + "year": 2013, + "color": "Yellow" + }, + { + "id": 251, + "make": "BMW", + "model": "1 Series", + "price": "23316.89", + "year": 2010, + "color": "Indigo" + }, + { + "id": 252, + "make": "Mitsubishi", + "model": "Mirage", + "price": "89321.26", + "year": 1996, + "color": "Indigo" + }, + { + "id": 253, + "make": "Ford", + "model": "Crown Victoria", + "price": "52804.21", + "year": 2008, + "color": "Indigo" + }, + { + "id": 254, + "make": "Lexus", + "model": "LX", + "price": "63987.21", + "year": 2009, + "color": "Turquoise" + }, + { + "id": 255, + "make": "Toyota", + "model": "Tundra", + "price": "98534.61", + "year": 2009, + "color": "Teal" + }, + { + "id": 256, + "make": "BMW", + "model": "M5", + "price": "29205.64", + "year": 2002, + "color": "Purple" + }, + { + "id": 257, + "make": "Kia", + "model": "Optima", + "price": "81358.15", + "year": 2012, + "color": "Aquamarine" + }, + { + "id": 258, + "make": "Lexus", + "model": "LS", + "price": "74653.03", + "year": 2009, + "color": "Orange" + }, + { + "id": 259, + "make": "Audi", + "model": "S4", + "price": "25297.53", + "year": 2012, + "color": "Maroon" + }, + { + "id": 260, + "make": "Honda", + "model": "Accord", + "price": "29485.24", + "year": 1986, + "color": "Mauv" + }, + { + "id": 261, + "make": "Mercedes-Benz", + "model": "M-Class", + "price": "97742.04", + "year": 1998, + "color": "Violet" + }, + { + "id": 262, + "make": "Scion", + "model": "xB", + "price": "55778.37", + "year": 2012, + "color": "Goldenrod" + }, + { + "id": 263, + "make": "Chevrolet", + "model": "Express 2500", + "price": "99892.59", + "year": 2007, + "color": "Puce" + }, + { + "id": 264, + "make": "Lamborghini", + "model": "Gallardo", + "price": "27074.24", + "year": 2005, + "color": "Puce" + }, + { + "id": 265, + "make": "Oldsmobile", + "model": "Cutlass Cruiser", + "price": "43755.08", + "year": 1994, + "color": "Blue" + }, + { + "id": 266, + "make": "Porsche", + "model": "Boxster", + "price": "40897.28", + "year": 2001, + "color": "Pink" + }, + { + "id": 267, + "make": "Hummer", + "model": "H1", + "price": "71584.06", + "year": 1998, + "color": "Teal" + }, + { + "id": 268, + "make": "Chevrolet", + "model": "Metro", + "price": "74147.70", + "year": 2001, + "color": "Crimson" + }, + { + "id": 269, + "make": "Hyundai", + "model": "Santa Fe", + "price": "66370.13", + "year": 2008, + "color": "Turquoise" + }, + { + "id": 270, + "make": "Suzuki", + "model": "SJ", + "price": "30266.66", + "year": 1993, + "color": "Yellow" + }, + { + "id": 271, + "make": "BMW", + "model": "M3", + "price": "47580.18", + "year": 2005, + "color": "Indigo" + }, + { + "id": 272, + "make": "Plymouth", + "model": "Neon", + "price": "85656.59", + "year": 1998, + "color": "Goldenrod" + }, + { + "id": 273, + "make": "Toyota", + "model": "Venza", + "price": "12640.92", + "year": 2012, + "color": "Green" + }, + { + "id": 274, + "make": "Buick", + "model": "Electra", + "price": "57258.16", + "year": 1985, + "color": "Orange" + }, + { + "id": 275, + "make": "Buick", + "model": "LeSabre", + "price": "38866.73", + "year": 2000, + "color": "Crimson" + }, + { + "id": 276, + "make": "Maserati", + "model": "Quattroporte", + "price": "24164.83", + "year": 1984, + "color": "Red" + }, + { + "id": 277, + "make": "Mitsubishi", + "model": "GTO", + "price": "21081.48", + "year": 1990, + "color": "Indigo" + }, + { + "id": 278, + "make": "Ford", + "model": "Escape", + "price": "42300.24", + "year": 2003, + "color": "Orange" + }, + { + "id": 279, + "make": "Kia", + "model": "Rondo", + "price": "98421.77", + "year": 2009, + "color": "Mauv" + }, + { + "id": 280, + "make": "Mercedes-Benz", + "model": "SL-Class", + "price": "10250.25", + "year": 1990, + "color": "Blue" + }, + { + "id": 281, + "make": "Mitsubishi", + "model": "Galant", + "price": "93797.50", + "year": 1988, + "color": "Violet" + }, + { + "id": 282, + "make": "Toyota", + "model": "Land Cruiser", + "price": "34635.64", + "year": 1992, + "color": "Aquamarine" + }, + { + "id": 283, + "make": "Ford", + "model": "ZX2", + "price": "81209.57", + "year": 2001, + "color": "Puce" + }, + { + "id": 284, + "make": "Pontiac", + "model": "Trans Sport", + "price": "26918.80", + "year": 1990, + "color": "Purple" + }, + { + "id": 285, + "make": "Nissan", + "model": "GT-R", + "price": "33429.10", + "year": 2009, + "color": "Orange" + }, + { + "id": 286, + "make": "Toyota", + "model": "Prius", + "price": "26495.26", + "year": 2002, + "color": "Red" + }, + { + "id": 287, + "make": "Chevrolet", + "model": "Express 3500", + "price": "82550.76", + "year": 2010, + "color": "Teal" + }, + { + "id": 288, + "make": "Pontiac", + "model": "Chevette", + "price": "83127.78", + "year": 1987, + "color": "Green" + }, + { + "id": 289, + "make": "Ford", + "model": "F350", + "price": "47074.46", + "year": 2003, + "color": "Yellow" + }, + { + "id": 290, + "make": "Ford", + "model": "Taurus", + "price": "16748.49", + "year": 1987, + "color": "Crimson" + }, + { + "id": 291, + "make": "Mitsubishi", + "model": "L300", + "price": "99932.82", + "year": 1990, + "color": "Khaki" + }, + { + "id": 292, + "make": "BMW", + "model": "5 Series", + "price": "29787.38", + "year": 1993, + "color": "Indigo" + }, + { + "id": 293, + "make": "Chevrolet", + "model": "Silverado 3500HD", + "price": "91912.35", + "year": 2006, + "color": "Aquamarine" + }, + { + "id": 294, + "make": "BMW", + "model": "6 Series", + "price": "97394.82", + "year": 2009, + "color": "Aquamarine" + }, + { + "id": 295, + "make": "Jeep", + "model": "Grand Cherokee", + "price": "65553.90", + "year": 2009, + "color": "Maroon" + }, + { + "id": 296, + "make": "Infiniti", + "model": "J", + "price": "39427.19", + "year": 1997, + "color": "Yellow" + }, + { + "id": 297, + "make": "Buick", + "model": "Regal", + "price": "92936.73", + "year": 1990, + "color": "Pink" + }, + { + "id": 298, + "make": "Volkswagen", + "model": "GTI", + "price": "8575.04", + "year": 1993, + "color": "Indigo" + }, + { + "id": 299, + "make": "Mercury", + "model": "Mariner", + "price": "8780.77", + "year": 2005, + "color": "Goldenrod" + }, + { + "id": 300, + "make": "Audi", + "model": "V8", + "price": "93170.86", + "year": 1994, + "color": "Blue" + }, + { + "id": 301, + "make": "Chrysler", + "model": "Sebring", + "price": "82262.27", + "year": 2009, + "color": "Puce" + }, + { + "id": 302, + "make": "Hyundai", + "model": "Elantra", + "price": "29756.50", + "year": 2010, + "color": "Mauv" + }, + { + "id": 303, + "make": "Land Rover", + "model": "LR3", + "price": "29427.14", + "year": 2008, + "color": "Goldenrod" + }, + { + "id": 304, + "make": "Jaguar", + "model": "XJ Series", + "price": "38600.22", + "year": 2004, + "color": "Yellow" + }, + { + "id": 305, + "make": "Infiniti", + "model": "QX", + "price": "68813.19", + "year": 1998, + "color": "Indigo" + }, + { + "id": 306, + "make": "Ford", + "model": "F350", + "price": "29728.00", + "year": 2000, + "color": "Puce" + }, + { + "id": 307, + "make": "Kia", + "model": "Sedona", + "price": "62196.62", + "year": 2007, + "color": "Green" + }, + { + "id": 308, + "make": "Mitsubishi", + "model": "L300", + "price": "85564.50", + "year": 1987, + "color": "Red" + }, + { + "id": 309, + "make": "Mercury", + "model": "Grand Marquis", + "price": "68690.84", + "year": 1986, + "color": "Puce" + }, + { + "id": 310, + "make": "Pontiac", + "model": "Grand Prix", + "price": "12585.05", + "year": 1992, + "color": "Pink" + }, + { + "id": 311, + "make": "Oldsmobile", + "model": "Aurora", + "price": "53487.21", + "year": 2002, + "color": "Violet" + }, + { + "id": 312, + "make": "Chevrolet", + "model": "Camaro", + "price": "8859.70", + "year": 1979, + "color": "Indigo" + }, + { + "id": 313, + "make": "Pontiac", + "model": "Sunfire", + "price": "88916.29", + "year": 1996, + "color": "Violet" + }, + { + "id": 314, + "make": "Mitsubishi", + "model": "Expo", + "price": "97237.11", + "year": 1992, + "color": "Orange" + }, + { + "id": 315, + "make": "Isuzu", + "model": "i-290", + "price": "82154.49", + "year": 2008, + "color": "Maroon" + }, + { + "id": 316, + "make": "Mercedes-Benz", + "model": "SL-Class", + "price": "20337.01", + "year": 2011, + "color": "Maroon" + }, + { + "id": 317, + "make": "Suzuki", + "model": "Sidekick", + "price": "39146.71", + "year": 1998, + "color": "Green" + }, + { + "id": 318, + "make": "Volkswagen", + "model": "Touareg", + "price": "8533.68", + "year": 2011, + "color": "Orange" + }, + { + "id": 319, + "make": "Lincoln", + "model": "Town Car", + "price": "70850.82", + "year": 1993, + "color": "Turquoise" + }, + { + "id": 320, + "make": "Toyota", + "model": "Tercel", + "price": "97972.31", + "year": 1995, + "color": "Indigo" + }, + { + "id": 321, + "make": "Lincoln", + "model": "Continental", + "price": "65909.19", + "year": 1996, + "color": "Green" + }, + { + "id": 322, + "make": "Mercedes-Benz", + "model": "S-Class", + "price": "21696.71", + "year": 2004, + "color": "Teal" + }, + { + "id": 323, + "make": "Ford", + "model": "F150", + "price": "60658.32", + "year": 1999, + "color": "Pink" + }, + { + "id": 324, + "make": "GMC", + "model": "Sierra 3500", + "price": "52759.42", + "year": 2001, + "color": "Turquoise" + }, + { + "id": 325, + "make": "Toyota", + "model": "Corolla", + "price": "51317.29", + "year": 1995, + "color": "Aquamarine" + }, + { + "id": 326, + "make": "Mercedes-Benz", + "model": "S-Class", + "price": "33998.06", + "year": 1994, + "color": "Aquamarine" + }, + { + "id": 327, + "make": "MINI", + "model": "Clubman", + "price": "70428.20", + "year": 2010, + "color": "Maroon" + }, + { + "id": 328, + "make": "Chevrolet", + "model": "HHR", + "price": "72497.09", + "year": 2007, + "color": "Maroon" + }, + { + "id": 329, + "make": "Acura", + "model": "RL", + "price": "43733.78", + "year": 2000, + "color": "Indigo" + }, + { + "id": 330, + "make": "Suzuki", + "model": "Cultus", + "price": "29087.58", + "year": 1985, + "color": "Puce" + }, + { + "id": 331, + "make": "Dodge", + "model": "Dakota Club", + "price": "13916.21", + "year": 2007, + "color": "Crimson" + }, + { + "id": 332, + "make": "Ford", + "model": "Taurus", + "price": "20747.98", + "year": 2010, + "color": "Puce" + }, + { + "id": 333, + "make": "Toyota", + "model": "Land Cruiser", + "price": "39068.14", + "year": 2009, + "color": "Khaki" + }, + { + "id": 334, + "make": "Chevrolet", + "model": "S10 Blazer", + "price": "50547.76", + "year": 1994, + "color": "Violet" + }, + { + "id": 335, + "make": "Suzuki", + "model": "Daewoo Lacetti", + "price": "42783.27", + "year": 2004, + "color": "Orange" + }, + { + "id": 336, + "make": "Pontiac", + "model": "Grand Prix Turbo", + "price": "58300.63", + "year": 1990, + "color": "Crimson" + }, + { + "id": 337, + "make": "Ford", + "model": "Thunderbird", + "price": "7844.06", + "year": 1990, + "color": "Purple" + }, + { + "id": 338, + "make": "Buick", + "model": "Electra", + "price": "93820.23", + "year": 1985, + "color": "Red" + }, + { + "id": 339, + "make": "Mitsubishi", + "model": "Lancer", + "price": "97776.89", + "year": 2007, + "color": "Fuscia" + }, + { + "id": 340, + "make": "Chevrolet", + "model": "Camaro", + "price": "64793.27", + "year": 1969, + "color": "Orange" + }, + { + "id": 341, + "make": "Lamborghini", + "model": "Gallardo", + "price": "51333.72", + "year": 2007, + "color": "Turquoise" + }, + { + "id": 342, + "make": "Toyota", + "model": "Tacoma", + "price": "29863.77", + "year": 2003, + "color": "Blue" + }, + { + "id": 343, + "make": "Volkswagen", + "model": "CC", + "price": "9504.36", + "year": 2011, + "color": "Orange" + }, + { + "id": 344, + "make": "BMW", + "model": "545", + "price": "51536.52", + "year": 2005, + "color": "Mauv" + }, + { + "id": 345, + "make": "Dodge", + "model": "Shadow", + "price": "45028.55", + "year": 1994, + "color": "Yellow" + }, + { + "id": 346, + "make": "GMC", + "model": "2500", + "price": "7373.91", + "year": 1999, + "color": "Violet" + }, + { + "id": 347, + "make": "Toyota", + "model": "Prius", + "price": "22459.16", + "year": 2012, + "color": "Indigo" + }, + { + "id": 348, + "make": "Volkswagen", + "model": "Phaeton", + "price": "21363.54", + "year": 2006, + "color": "Red" + }, + { + "id": 349, + "make": "Scion", + "model": "xB", + "price": "41040.76", + "year": 2004, + "color": "Purple" + }, + { + "id": 350, + "make": "Chevrolet", + "model": "Cobalt", + "price": "54959.68", + "year": 2010, + "color": "Mauv" + }, + { + "id": 351, + "make": "Toyota", + "model": "Paseo", + "price": "37711.34", + "year": 1993, + "color": "Khaki" + }, + { + "id": 352, + "make": "Volkswagen", + "model": "Routan", + "price": "14806.68", + "year": 2009, + "color": "Yellow" + }, + { + "id": 353, + "make": "GMC", + "model": "Yukon", + "price": "70829.15", + "year": 2013, + "color": "Blue" + }, + { + "id": 354, + "make": "Pontiac", + "model": "GTO", + "price": "7372.66", + "year": 1968, + "color": "Maroon" + }, + { + "id": 355, + "make": "Jeep", + "model": "Wrangler", + "price": "34278.35", + "year": 2002, + "color": "Orange" + }, + { + "id": 356, + "make": "Toyota", + "model": "4Runner", + "price": "23821.45", + "year": 2009, + "color": "Yellow" + }, + { + "id": 357, + "make": "Oldsmobile", + "model": "Cutlass Cruiser", + "price": "16058.15", + "year": 1993, + "color": "Pink" + }, + { + "id": 358, + "make": "Mitsubishi", + "model": "Eclipse", + "price": "86483.03", + "year": 2008, + "color": "Red" + }, + { + "id": 359, + "make": "Volvo", + "model": "S40", + "price": "71986.80", + "year": 2004, + "color": "Mauv" + }, + { + "id": 360, + "make": "Chrysler", + "model": "Sebring", + "price": "69164.66", + "year": 2005, + "color": "Aquamarine" + }, + { + "id": 361, + "make": "Nissan", + "model": "Sentra", + "price": "12283.57", + "year": 1999, + "color": "Puce" + }, + { + "id": 362, + "make": "Land Rover", + "model": "Freelander", + "price": "9851.44", + "year": 2004, + "color": "Teal" + }, + { + "id": 363, + "make": "Mercedes-Benz", + "model": "E-Class", + "price": "20136.07", + "year": 1993, + "color": "Yellow" + }, + { + "id": 364, + "make": "Mazda", + "model": "626", + "price": "7772.95", + "year": 2000, + "color": "Teal" + }, + { + "id": 365, + "make": "Mercury", + "model": "Sable", + "price": "48737.84", + "year": 1988, + "color": "Indigo" + }, + { + "id": 366, + "make": "Cadillac", + "model": "CTS-V", + "price": "58574.66", + "year": 2006, + "color": "Indigo" + }, + { + "id": 367, + "make": "Dodge", + "model": "Avenger", + "price": "9780.74", + "year": 1998, + "color": "Maroon" + }, + { + "id": 368, + "make": "GMC", + "model": "2500 Club Coupe", + "price": "32190.62", + "year": 1995, + "color": "Turquoise" + }, + { + "id": 369, + "make": "Nissan", + "model": "Xterra", + "price": "94833.56", + "year": 2001, + "color": "Purple" + }, + { + "id": 370, + "make": "Saab", + "model": "9-5", + "price": "28013.62", + "year": 2003, + "color": "Aquamarine" + }, + { + "id": 371, + "make": "Jeep", + "model": "Grand Cherokee", + "price": "80921.33", + "year": 2011, + "color": "Puce" + }, + { + "id": 372, + "make": "Subaru", + "model": "Justy", + "price": "77008.20", + "year": 1990, + "color": "Indigo" + }, + { + "id": 373, + "make": "Audi", + "model": "A8", + "price": "88402.50", + "year": 2011, + "color": "Indigo" + }, + { + "id": 374, + "make": "Ford", + "model": "Ranger", + "price": "45019.08", + "year": 1987, + "color": "Mauv" + }, + { + "id": 375, + "make": "Audi", + "model": "A8", + "price": "66679.79", + "year": 2005, + "color": "Goldenrod" + }, + { + "id": 376, + "make": "Ford", + "model": "Crown Victoria", + "price": "82921.28", + "year": 2005, + "color": "Puce" + }, + { + "id": 377, + "make": "Saturn", + "model": "Outlook", + "price": "46944.87", + "year": 2008, + "color": "Green" + }, + { + "id": 378, + "make": "Ferrari", + "model": "599 GTB Fiorano", + "price": "55842.99", + "year": 2007, + "color": "Fuscia" + }, + { + "id": 379, + "make": "Ford", + "model": "Expedition", + "price": "70301.89", + "year": 2007, + "color": "Violet" + }, + { + "id": 380, + "make": "Ford", + "model": "GT500", + "price": "90832.97", + "year": 2007, + "color": "Red" + }, + { + "id": 381, + "make": "Pontiac", + "model": "LeMans", + "price": "81316.70", + "year": 1991, + "color": "Pink" + }, + { + "id": 382, + "make": "Lincoln", + "model": "Navigator L", + "price": "57438.33", + "year": 2011, + "color": "Blue" + }, + { + "id": 383, + "make": "BMW", + "model": "X6 M", + "price": "58072.97", + "year": 2011, + "color": "Green" + }, + { + "id": 384, + "make": "Buick", + "model": "Century", + "price": "82300.09", + "year": 2002, + "color": "Fuscia" + }, + { + "id": 385, + "make": "Toyota", + "model": "Sienna", + "price": "8112.94", + "year": 2004, + "color": "Fuscia" + }, + { + "id": 386, + "make": "Mitsubishi", + "model": "Galant", + "price": "39998.33", + "year": 2007, + "color": "Maroon" + }, + { + "id": 387, + "make": "Ford", + "model": "Explorer", + "price": "81241.05", + "year": 1991, + "color": "Pink" + }, + { + "id": 388, + "make": "Buick", + "model": "Rendezvous", + "price": "80687.69", + "year": 2002, + "color": "Red" + }, + { + "id": 389, + "make": "Kia", + "model": "Sportage", + "price": "66723.19", + "year": 1997, + "color": "Green" + }, + { + "id": 390, + "make": "Mazda", + "model": "MX-6", + "price": "45861.73", + "year": 1995, + "color": "Fuscia" + }, + { + "id": 391, + "make": "Nissan", + "model": "Armada", + "price": "64294.75", + "year": 2012, + "color": "Maroon" + }, + { + "id": 392, + "make": "Ford", + "model": "Taurus", + "price": "25224.72", + "year": 1986, + "color": "Turquoise" + }, + { + "id": 393, + "make": "Audi", + "model": "A6", + "price": "7408.03", + "year": 1997, + "color": "Crimson" + }, + { + "id": 394, + "make": "Dodge", + "model": "Neon", + "price": "9570.93", + "year": 1995, + "color": "Orange" + }, + { + "id": 395, + "make": "Mazda", + "model": "B-Series", + "price": "39503.32", + "year": 1993, + "color": "Pink" + }, + { + "id": 396, + "make": "Lamborghini", + "model": "Murciélago", + "price": "65122.74", + "year": 2010, + "color": "Puce" + }, + { + "id": 397, + "make": "Kia", + "model": "Sportage", + "price": "52139.91", + "year": 1999, + "color": "Indigo" + }, + { + "id": 398, + "make": "Chrysler", + "model": "Town & Country", + "price": "73238.31", + "year": 2005, + "color": "Fuscia" + }, + { + "id": 399, + "make": "Chevrolet", + "model": "Camaro", + "price": "75327.15", + "year": 2011, + "color": "Orange" + }, + { + "id": 400, + "make": "Nissan", + "model": "300ZX", + "price": "27127.90", + "year": 1994, + "color": "Fuscia" + }, + { + "id": 401, + "make": "Pontiac", + "model": "G6", + "price": "25930.66", + "year": 2006, + "color": "Indigo" + }, + { + "id": 402, + "make": "Lotus", + "model": "Elise", + "price": "36632.59", + "year": 2007, + "color": "Indigo" + }, + { + "id": 403, + "make": "Chrysler", + "model": "Crossfire", + "price": "38718.34", + "year": 2008, + "color": "Green" + }, + { + "id": 404, + "make": "GMC", + "model": "Yukon XL 2500", + "price": "65850.40", + "year": 2008, + "color": "Aquamarine" + }, + { + "id": 405, + "make": "Volkswagen", + "model": "Jetta", + "price": "78199.80", + "year": 2001, + "color": "Green" + }, + { + "id": 406, + "make": "Nissan", + "model": "Armada", + "price": "39297.77", + "year": 2007, + "color": "Teal" + }, + { + "id": 407, + "make": "Pontiac", + "model": "Bonneville", + "price": "55344.16", + "year": 1964, + "color": "Khaki" + }, + { + "id": 408, + "make": "Honda", + "model": "Accord", + "price": "12807.27", + "year": 2010, + "color": "Fuscia" + }, + { + "id": 409, + "make": "Chevrolet", + "model": "Corvette", + "price": "52604.15", + "year": 1968, + "color": "Red" + }, + { + "id": 410, + "make": "Daewoo", + "model": "Lanos", + "price": "83106.04", + "year": 2002, + "color": "Maroon" + }, + { + "id": 411, + "make": "Nissan", + "model": "Maxima", + "price": "67349.69", + "year": 2005, + "color": "Goldenrod" + }, + { + "id": 412, + "make": "Suzuki", + "model": "Grand Vitara", + "price": "70858.50", + "year": 2010, + "color": "Goldenrod" + }, + { + "id": 413, + "make": "Ram", + "model": "2500", + "price": "84066.51", + "year": 2012, + "color": "Indigo" + }, + { + "id": 414, + "make": "Ford", + "model": "Ranger", + "price": "93029.15", + "year": 2007, + "color": "Khaki" + }, + { + "id": 415, + "make": "Bentley", + "model": "Continental GTC", + "price": "64346.22", + "year": 2008, + "color": "Pink" + }, + { + "id": 416, + "make": "Nissan", + "model": "Maxima", + "price": "35225.29", + "year": 2000, + "color": "Fuscia" + }, + { + "id": 417, + "make": "Audi", + "model": "S8", + "price": "11515.81", + "year": 2003, + "color": "Aquamarine" + }, + { + "id": 418, + "make": "Chevrolet", + "model": "S10", + "price": "44830.47", + "year": 1995, + "color": "Teal" + }, + { + "id": 419, + "make": "Pontiac", + "model": "Montana", + "price": "62186.18", + "year": 1999, + "color": "Mauv" + }, + { + "id": 420, + "make": "Volvo", + "model": "V70", + "price": "74165.99", + "year": 2005, + "color": "Indigo" + }, + { + "id": 421, + "make": "Honda", + "model": "Civic", + "price": "19624.75", + "year": 2010, + "color": "Red" + }, + { + "id": 422, + "make": "Jeep", + "model": "Grand Cherokee", + "price": "79852.87", + "year": 2011, + "color": "Green" + }, + { + "id": 423, + "make": "Maserati", + "model": "GranTurismo", + "price": "42113.33", + "year": 2009, + "color": "Teal" + }, + { + "id": 424, + "make": "Ford", + "model": "E150", + "price": "85559.45", + "year": 2009, + "color": "Purple" + }, + { + "id": 425, + "make": "Audi", + "model": "A4", + "price": "53784.67", + "year": 2010, + "color": "Turquoise" + }, + { + "id": 426, + "make": "Volkswagen", + "model": "GTI", + "price": "86030.55", + "year": 2003, + "color": "Mauv" + }, + { + "id": 427, + "make": "Ford", + "model": "Bronco", + "price": "22221.97", + "year": 1992, + "color": "Goldenrod" + }, + { + "id": 428, + "make": "Audi", + "model": "A6", + "price": "38178.00", + "year": 2011, + "color": "Orange" + }, + { + "id": 429, + "make": "Volkswagen", + "model": "Cabriolet", + "price": "26515.02", + "year": 2002, + "color": "Pink" + }, + { + "id": 430, + "make": "Ford", + "model": "Bronco", + "price": "12672.24", + "year": 1994, + "color": "Crimson" + }, + { + "id": 431, + "make": "Buick", + "model": "Verano", + "price": "89113.09", + "year": 2012, + "color": "Maroon" + }, + { + "id": 432, + "make": "Toyota", + "model": "FJ Cruiser", + "price": "95420.50", + "year": 2008, + "color": "Mauv" + }, + { + "id": 433, + "make": "Mazda", + "model": "MPV", + "price": "28275.50", + "year": 1992, + "color": "Crimson" + }, + { + "id": 434, + "make": "Honda", + "model": "Ridgeline", + "price": "13709.70", + "year": 2010, + "color": "Teal" + }, + { + "id": 435, + "make": "Ford", + "model": "Tempo", + "price": "44188.64", + "year": 1992, + "color": "Mauv" + }, + { + "id": 436, + "make": "Ford", + "model": "Fairlane", + "price": "8713.74", + "year": 1965, + "color": "Orange" + }, + { + "id": 437, + "make": "Infiniti", + "model": "QX", + "price": "95493.79", + "year": 1999, + "color": "Red" + }, + { + "id": 438, + "make": "Buick", + "model": "Skylark", + "price": "79220.69", + "year": 1985, + "color": "Fuscia" + }, + { + "id": 439, + "make": "Chevrolet", + "model": "Express 2500", + "price": "13784.53", + "year": 2002, + "color": "Teal" + }, + { + "id": 440, + "make": "Pontiac", + "model": "Grand Prix", + "price": "49524.26", + "year": 1993, + "color": "Puce" + }, + { + "id": 441, + "make": "Cadillac", + "model": "Seville", + "price": "69259.19", + "year": 1998, + "color": "Puce" + }, + { + "id": 442, + "make": "Mazda", + "model": "CX-7", + "price": "48767.29", + "year": 2011, + "color": "Puce" + }, + { + "id": 443, + "make": "Subaru", + "model": "Forester", + "price": "36028.97", + "year": 2003, + "color": "Teal" + }, + { + "id": 444, + "make": "Chevrolet", + "model": "Silverado 1500", + "price": "20536.23", + "year": 2003, + "color": "Purple" + }, + { + "id": 445, + "make": "Ford", + "model": "F250", + "price": "20214.11", + "year": 2012, + "color": "Red" + }, + { + "id": 446, + "make": "Dodge", + "model": "Ram 3500", + "price": "51333.47", + "year": 1998, + "color": "Blue" + }, + { + "id": 447, + "make": "Honda", + "model": "Accord", + "price": "97415.29", + "year": 2001, + "color": "Teal" + }, + { + "id": 448, + "make": "Chevrolet", + "model": "Astro", + "price": "9639.90", + "year": 2002, + "color": "Maroon" + }, + { + "id": 449, + "make": "Nissan", + "model": "Armada", + "price": "20608.78", + "year": 2009, + "color": "Fuscia" + }, + { + "id": 450, + "make": "Mercedes-Benz", + "model": "SL-Class", + "price": "30100.34", + "year": 1994, + "color": "Yellow" + }, + { + "id": 451, + "make": "Suzuki", + "model": "SJ", + "price": "76253.35", + "year": 1990, + "color": "Green" + }, + { + "id": 452, + "make": "Subaru", + "model": "Impreza", + "price": "55757.18", + "year": 2008, + "color": "Red" + }, + { + "id": 453, + "make": "GMC", + "model": "Savana", + "price": "53155.00", + "year": 2006, + "color": "Orange" + }, + { + "id": 454, + "make": "Hyundai", + "model": "Accent", + "price": "61138.75", + "year": 1996, + "color": "Red" + }, + { + "id": 455, + "make": "Buick", + "model": "Skylark", + "price": "44523.53", + "year": 1989, + "color": "Goldenrod" + }, + { + "id": 456, + "make": "Dodge", + "model": "Ram 2500", + "price": "54835.27", + "year": 2004, + "color": "Maroon" + }, + { + "id": 457, + "make": "Mitsubishi", + "model": "Lancer Evolution", + "price": "58560.37", + "year": 2002, + "color": "Maroon" + }, + { + "id": 458, + "make": "Ford", + "model": "Ranger", + "price": "69252.18", + "year": 2003, + "color": "Blue" + }, + { + "id": 459, + "make": "Pontiac", + "model": "LeMans", + "price": "79679.44", + "year": 1968, + "color": "Goldenrod" + }, + { + "id": 460, + "make": "Volkswagen", + "model": "Cabriolet", + "price": "48176.33", + "year": 1995, + "color": "Red" + }, + { + "id": 461, + "make": "Chevrolet", + "model": "Camaro", + "price": "8981.21", + "year": 2000, + "color": "Indigo" + }, + { + "id": 462, + "make": "Acura", + "model": "TL", + "price": "80791.71", + "year": 1997, + "color": "Violet" + }, + { + "id": 463, + "make": "Audi", + "model": "riolet", + "price": "51522.02", + "year": 1998, + "color": "Maroon" + }, + { + "id": 464, + "make": "Toyota", + "model": "RAV4", + "price": "86030.33", + "year": 2002, + "color": "Yellow" + }, + { + "id": 465, + "make": "BMW", + "model": "Z3", + "price": "56522.43", + "year": 2001, + "color": "Red" + }, + { + "id": 466, + "make": "Kia", + "model": "Rondo", + "price": "55495.82", + "year": 2008, + "color": "Indigo" + }, + { + "id": 467, + "make": "Ford", + "model": "F-250 Super Duty", + "price": "9233.17", + "year": 2006, + "color": "Khaki" + }, + { + "id": 468, + "make": "Honda", + "model": "Civic", + "price": "9382.75", + "year": 2003, + "color": "Pink" + }, + { + "id": 469, + "make": "Volkswagen", + "model": "riolet", + "price": "12626.04", + "year": 1993, + "color": "Crimson" + }, + { + "id": 470, + "make": "BMW", + "model": "7 Series", + "price": "21461.89", + "year": 2008, + "color": "Puce" + }, + { + "id": 471, + "make": "Toyota", + "model": "Land Cruiser", + "price": "84091.61", + "year": 1995, + "color": "Teal" + }, + { + "id": 472, + "make": "Ford", + "model": "Escort", + "price": "8061.36", + "year": 2004, + "color": "Yellow" + }, + { + "id": 473, + "make": "Honda", + "model": "Prelude", + "price": "14578.89", + "year": 1985, + "color": "Pink" + }, + { + "id": 474, + "make": "BMW", + "model": "3 Series", + "price": "20002.21", + "year": 1995, + "color": "Yellow" + }, + { + "id": 475, + "make": "Buick", + "model": "Roadmaster", + "price": "83600.35", + "year": 1995, + "color": "Red" + }, + { + "id": 476, + "make": "GMC", + "model": "Jimmy", + "price": "17442.72", + "year": 1998, + "color": "Puce" + }, + { + "id": 477, + "make": "Mitsubishi", + "model": "Eclipse", + "price": "22218.50", + "year": 1992, + "color": "Indigo" + }, + { + "id": 478, + "make": "Mazda", + "model": "B-Series Plus", + "price": "79575.69", + "year": 1996, + "color": "Aquamarine" + }, + { + "id": 479, + "make": "Chevrolet", + "model": "Express 3500", + "price": "51030.70", + "year": 2001, + "color": "Mauv" + }, + { + "id": 480, + "make": "Pontiac", + "model": "Grand Am", + "price": "27191.00", + "year": 1993, + "color": "Khaki" + }, + { + "id": 481, + "make": "Honda", + "model": "Civic", + "price": "39472.44", + "year": 1980, + "color": "Red" + }, + { + "id": 482, + "make": "Mazda", + "model": "B-Series", + "price": "73768.89", + "year": 2007, + "color": "Turquoise" + }, + { + "id": 483, + "make": "Lamborghini", + "model": "Diablo", + "price": "75429.83", + "year": 2001, + "color": "Goldenrod" + }, + { + "id": 484, + "make": "Honda", + "model": "CR-X", + "price": "23012.32", + "year": 1985, + "color": "Aquamarine" + }, + { + "id": 485, + "make": "Pontiac", + "model": "LeMans", + "price": "70423.93", + "year": 1989, + "color": "Mauv" + }, + { + "id": 486, + "make": "Hyundai", + "model": "Elantra", + "price": "14910.17", + "year": 2008, + "color": "Aquamarine" + }, + { + "id": 487, + "make": "Ford", + "model": "Excursion", + "price": "37113.38", + "year": 2003, + "color": "Aquamarine" + }, + { + "id": 488, + "make": "Mercedes-Benz", + "model": "G-Class", + "price": "24527.18", + "year": 2003, + "color": "Goldenrod" + }, + { + "id": 489, + "make": "Oldsmobile", + "model": "Bravada", + "price": "49232.27", + "year": 1996, + "color": "Purple" + }, + { + "id": 490, + "make": "GMC", + "model": "Sierra 1500", + "price": "24708.99", + "year": 2011, + "color": "Fuscia" + }, + { + "id": 491, + "make": "Ford", + "model": "Econoline E150", + "price": "24884.39", + "year": 1995, + "color": "Green" + }, + { + "id": 492, + "make": "Chevrolet", + "model": "Impala", + "price": "40854.00", + "year": 2008, + "color": "Turquoise" + }, + { + "id": 493, + "make": "Mitsubishi", + "model": "Galant", + "price": "7484.46", + "year": 1986, + "color": "Puce" + }, + { + "id": 494, + "make": "Ford", + "model": "F350", + "price": "59993.86", + "year": 2004, + "color": "Green" + }, + { + "id": 495, + "make": "Ford", + "model": "F350", + "price": "81337.53", + "year": 2008, + "color": "Green" + }, + { + "id": 496, + "make": "Nissan", + "model": "370Z", + "price": "52530.49", + "year": 2010, + "color": "Blue" + }, + { + "id": 497, + "make": "Lincoln", + "model": "Navigator", + "price": "8312.40", + "year": 2003, + "color": "Goldenrod" + }, + { + "id": 498, + "make": "Mercedes-Benz", + "model": "E-Class", + "price": "60944.52", + "year": 1998, + "color": "Green" + }, + { + "id": 499, + "make": "GMC", + "model": "Rally Wagon 3500", + "price": "31306.71", + "year": 1994, + "color": "Khaki" + }, + { + "id": 500, + "make": "Land Rover", + "model": "Defender", + "price": "67623.16", + "year": 1995, + "color": "Pink" + }, + { + "id": 501, + "make": "Volkswagen", + "model": "Cabriolet", + "price": "19674.22", + "year": 1999, + "color": "Blue" + }, + { + "id": 502, + "make": "Suzuki", + "model": "Esteem", + "price": "51044.44", + "year": 2001, + "color": "Yellow" + }, + { + "id": 503, + "make": "Honda", + "model": "Accord", + "price": "83153.53", + "year": 1994, + "color": "Orange" + }, + { + "id": 504, + "make": "GMC", + "model": "Jimmy", + "price": "9631.32", + "year": 1998, + "color": "Maroon" + }, + { + "id": 505, + "make": "Mercedes-Benz", + "model": "S-Class", + "price": "48347.81", + "year": 1989, + "color": "Puce" + }, + { + "id": 506, + "make": "Toyota", + "model": "Tundra", + "price": "20111.97", + "year": 2004, + "color": "Purple" + }, + { + "id": 507, + "make": "Lexus", + "model": "LS", + "price": "49749.78", + "year": 1998, + "color": "Violet" + }, + { + "id": 508, + "make": "Jaguar", + "model": "XK Series", + "price": "6416.30", + "year": 1999, + "color": "Khaki" + }, + { + "id": 509, + "make": "Kia", + "model": "Optima", + "price": "14515.75", + "year": 2012, + "color": "Pink" + }, + { + "id": 510, + "make": "Subaru", + "model": "Outback", + "price": "10977.94", + "year": 2009, + "color": "Puce" + }, + { + "id": 511, + "make": "Chevrolet", + "model": "Corvette", + "price": "99677.14", + "year": 2008, + "color": "Yellow" + }, + { + "id": 512, + "make": "Mitsubishi", + "model": "Lancer Evolution", + "price": "5028.24", + "year": 2011, + "color": "Crimson" + }, + { + "id": 513, + "make": "Volkswagen", + "model": "Touareg", + "price": "72281.88", + "year": 2006, + "color": "Orange" + }, + { + "id": 514, + "make": "Honda", + "model": "Insight", + "price": "46599.39", + "year": 2002, + "color": "Indigo" + }, + { + "id": 515, + "make": "Land Rover", + "model": "Defender 90", + "price": "34183.92", + "year": 1997, + "color": "Puce" + }, + { + "id": 516, + "make": "BMW", + "model": "7 Series", + "price": "44633.64", + "year": 2011, + "color": "Maroon" + }, + { + "id": 517, + "make": "BMW", + "model": "M5", + "price": "33615.09", + "year": 2008, + "color": "Green" + }, + { + "id": 518, + "make": "Geo", + "model": "Metro", + "price": "57683.81", + "year": 1992, + "color": "Pink" + }, + { + "id": 519, + "make": "Ford", + "model": "Fairlane", + "price": "52635.00", + "year": 1967, + "color": "Blue" + }, + { + "id": 520, + "make": "Honda", + "model": "Accord", + "price": "78300.58", + "year": 2011, + "color": "Indigo" + }, + { + "id": 521, + "make": "Dodge", + "model": "Caliber", + "price": "52889.23", + "year": 2012, + "color": "Green" + }, + { + "id": 522, + "make": "Pontiac", + "model": "Firefly", + "price": "14182.04", + "year": 1990, + "color": "Pink" + }, + { + "id": 523, + "make": "Mitsubishi", + "model": "Mirage", + "price": "19672.60", + "year": 1987, + "color": "Mauv" + }, + { + "id": 524, + "make": "Acura", + "model": "Legend", + "price": "70548.66", + "year": 1992, + "color": "Indigo" + }, + { + "id": 525, + "make": "Toyota", + "model": "Sequoia", + "price": "79092.98", + "year": 2002, + "color": "Aquamarine" + }, + { + "id": 526, + "make": "GMC", + "model": "Sierra 1500", + "price": "28618.34", + "year": 2000, + "color": "Fuscia" + }, + { + "id": 527, + "make": "Kia", + "model": "Spectra", + "price": "42254.37", + "year": 2005, + "color": "Puce" + }, + { + "id": 528, + "make": "Infiniti", + "model": "QX56", + "price": "79692.48", + "year": 2007, + "color": "Indigo" + }, + { + "id": 529, + "make": "Mercedes-Benz", + "model": "CL65 AMG", + "price": "89146.00", + "year": 2009, + "color": "Yellow" + }, + { + "id": 530, + "make": "Mitsubishi", + "model": "Pajero", + "price": "43095.15", + "year": 2002, + "color": "Fuscia" + }, + { + "id": 531, + "make": "Dodge", + "model": "Ram 1500", + "price": "62731.80", + "year": 1997, + "color": "Violet" + }, + { + "id": 532, + "make": "Chrysler", + "model": "Town & Country", + "price": "77697.04", + "year": 2011, + "color": "Orange" + }, + { + "id": 533, + "make": "Honda", + "model": "Insight", + "price": "9710.86", + "year": 2003, + "color": "Indigo" + }, + { + "id": 534, + "make": "Nissan", + "model": "Sentra", + "price": "84550.23", + "year": 2000, + "color": "Yellow" + }, + { + "id": 535, + "make": "Chevrolet", + "model": "Cavalier", + "price": "44209.30", + "year": 2004, + "color": "Pink" + }, + { + "id": 536, + "make": "Lotus", + "model": "Exige", + "price": "70409.04", + "year": 2005, + "color": "Red" + }, + { + "id": 537, + "make": "Toyota", + "model": "Land Cruiser", + "price": "53848.73", + "year": 2004, + "color": "Crimson" + }, + { + "id": 538, + "make": "Toyota", + "model": "Prius", + "price": "83106.52", + "year": 2006, + "color": "Turquoise" + }, + { + "id": 539, + "make": "Mercury", + "model": "Grand Marquis", + "price": "46297.76", + "year": 1993, + "color": "Indigo" + }, + { + "id": 540, + "make": "Mercedes-Benz", + "model": "S-Class", + "price": "75056.84", + "year": 2011, + "color": "Yellow" + }, + { + "id": 541, + "make": "Eagle", + "model": "Vision", + "price": "19407.34", + "year": 1995, + "color": "Orange" + }, + { + "id": 542, + "make": "Cadillac", + "model": "Escalade ESV", + "price": "25016.62", + "year": 2005, + "color": "Red" + }, + { + "id": 543, + "make": "Dodge", + "model": "Dakota", + "price": "28632.15", + "year": 1993, + "color": "Orange" + }, + { + "id": 544, + "make": "Buick", + "model": "Park Avenue", + "price": "49461.18", + "year": 1995, + "color": "Aquamarine" + }, + { + "id": 545, + "make": "Cadillac", + "model": "Seville", + "price": "84341.39", + "year": 1999, + "color": "Aquamarine" + }, + { + "id": 546, + "make": "Audi", + "model": "100", + "price": "44940.10", + "year": 1989, + "color": "Fuscia" + }, + { + "id": 547, + "make": "Volkswagen", + "model": "Cabriolet", + "price": "45300.85", + "year": 1985, + "color": "Green" + }, + { + "id": 548, + "make": "Suzuki", + "model": "Vitara", + "price": "22935.72", + "year": 2003, + "color": "Blue" + }, + { + "id": 549, + "make": "Porsche", + "model": "Cayman", + "price": "18527.63", + "year": 2009, + "color": "Red" + }, + { + "id": 550, + "make": "Chevrolet", + "model": "Tahoe", + "price": "75101.67", + "year": 1996, + "color": "Red" + }, + { + "id": 551, + "make": "Mazda", + "model": "MPV", + "price": "44051.16", + "year": 2006, + "color": "Indigo" + }, + { + "id": 552, + "make": "Saab", + "model": "900", + "price": "98743.12", + "year": 1992, + "color": "Orange" + }, + { + "id": 553, + "make": "Chevrolet", + "model": "Camaro", + "price": "18600.48", + "year": 1968, + "color": "Indigo" + }, + { + "id": 554, + "make": "BMW", + "model": "M6", + "price": "62888.71", + "year": 2008, + "color": "Aquamarine" + }, + { + "id": 555, + "make": "Subaru", + "model": "Justy", + "price": "29911.23", + "year": 1988, + "color": "Orange" + }, + { + "id": 556, + "make": "Acura", + "model": "Legend", + "price": "46844.22", + "year": 1989, + "color": "Puce" + }, + { + "id": 557, + "make": "Chevrolet", + "model": "Camaro", + "price": "15493.74", + "year": 2011, + "color": "Maroon" + }, + { + "id": 558, + "make": "Mercedes-Benz", + "model": "S-Class", + "price": "68773.90", + "year": 2002, + "color": "Mauv" + }, + { + "id": 559, + "make": "Kia", + "model": "Sportage", + "price": "28348.86", + "year": 2011, + "color": "Red" + }, + { + "id": 560, + "make": "Mitsubishi", + "model": "Montero", + "price": "43145.23", + "year": 1997, + "color": "Red" + }, + { + "id": 561, + "make": "Lexus", + "model": "LS", + "price": "94837.79", + "year": 2002, + "color": "Blue" + }, + { + "id": 562, + "make": "Mitsubishi", + "model": "Pajero", + "price": "11195.31", + "year": 1986, + "color": "Turquoise" + }, + { + "id": 563, + "make": "Maybach", + "model": "62", + "price": "82989.27", + "year": 2003, + "color": "Maroon" + }, + { + "id": 564, + "make": "Mitsubishi", + "model": "Chariot", + "price": "87653.90", + "year": 1993, + "color": "Turquoise" + }, + { + "id": 565, + "make": "Mazda", + "model": "B-Series", + "price": "24958.60", + "year": 1986, + "color": "Violet" + }, + { + "id": 566, + "make": "Toyota", + "model": "Tundra", + "price": "79459.59", + "year": 2008, + "color": "Turquoise" + }, + { + "id": 567, + "make": "Mitsubishi", + "model": "Eclipse", + "price": "27385.94", + "year": 1989, + "color": "Khaki" + }, + { + "id": 568, + "make": "Toyota", + "model": "4Runner", + "price": "37893.99", + "year": 1998, + "color": "Crimson" + }, + { + "id": 569, + "make": "Chevrolet", + "model": "Corvette", + "price": "60214.80", + "year": 2012, + "color": "Pink" + }, + { + "id": 570, + "make": "Mazda", + "model": "RX-7", + "price": "36780.44", + "year": 1990, + "color": "Aquamarine" + }, + { + "id": 571, + "make": "Pontiac", + "model": "Grand Prix", + "price": "97355.32", + "year": 1966, + "color": "Blue" + }, + { + "id": 572, + "make": "Mazda", + "model": "B-Series", + "price": "94992.94", + "year": 1994, + "color": "Mauv" + }, + { + "id": 573, + "make": "Ford", + "model": "E150", + "price": "11945.70", + "year": 2008, + "color": "Green" + }, + { + "id": 574, + "make": "Jeep", + "model": "Grand Cherokee", + "price": "44338.78", + "year": 2012, + "color": "Fuscia" + }, + { + "id": 575, + "make": "MINI", + "model": "Cooper Countryman", + "price": "11942.61", + "year": 2012, + "color": "Khaki" + }, + { + "id": 576, + "make": "Volkswagen", + "model": "Golf", + "price": "48839.58", + "year": 2011, + "color": "Turquoise" + }, + { + "id": 577, + "make": "Cadillac", + "model": "Fleetwood", + "price": "47865.52", + "year": 1993, + "color": "Khaki" + }, + { + "id": 578, + "make": "Ford", + "model": "Mustang", + "price": "54581.81", + "year": 1992, + "color": "Goldenrod" + }, + { + "id": 579, + "make": "Subaru", + "model": "Outback", + "price": "77535.57", + "year": 2009, + "color": "Mauv" + }, + { + "id": 580, + "make": "Ford", + "model": "Focus", + "price": "87188.85", + "year": 2012, + "color": "Puce" + }, + { + "id": 581, + "make": "Nissan", + "model": "Titan", + "price": "26402.17", + "year": 2011, + "color": "Blue" + }, + { + "id": 582, + "make": "Toyota", + "model": "Matrix", + "price": "42827.72", + "year": 2012, + "color": "Aquamarine" + }, + { + "id": 583, + "make": "Oldsmobile", + "model": "LSS", + "price": "75883.56", + "year": 1999, + "color": "Green" + }, + { + "id": 584, + "make": "Chevrolet", + "model": "Corvette", + "price": "21125.51", + "year": 1953, + "color": "Yellow" + }, + { + "id": 585, + "make": "Buick", + "model": "Reatta", + "price": "6926.13", + "year": 1989, + "color": "Blue" + }, + { + "id": 586, + "make": "Chevrolet", + "model": "Silverado 1500", + "price": "84355.42", + "year": 2000, + "color": "Yellow" + }, + { + "id": 587, + "make": "Pontiac", + "model": "Torrent", + "price": "63373.55", + "year": 2008, + "color": "Indigo" + }, + { + "id": 588, + "make": "Acura", + "model": "MDX", + "price": "31196.46", + "year": 2011, + "color": "Red" + }, + { + "id": 589, + "make": "Ford", + "model": "Ranger", + "price": "59603.27", + "year": 1993, + "color": "Purple" + }, + { + "id": 590, + "make": "Subaru", + "model": "Outback", + "price": "11594.89", + "year": 2001, + "color": "Orange" + }, + { + "id": 591, + "make": "Pontiac", + "model": "Grand Prix", + "price": "53964.73", + "year": 1989, + "color": "Goldenrod" + }, + { + "id": 592, + "make": "Plymouth", + "model": "Voyager", + "price": "41797.97", + "year": 1995, + "color": "Puce" + }, + { + "id": 593, + "make": "Nissan", + "model": "Sentra", + "price": "70162.22", + "year": 2007, + "color": "Orange" + }, + { + "id": 594, + "make": "Subaru", + "model": "Impreza", + "price": "77991.14", + "year": 2002, + "color": "Blue" + }, + { + "id": 595, + "make": "Ford", + "model": "Focus", + "price": "9354.62", + "year": 2012, + "color": "Red" + }, + { + "id": 596, + "make": "Chevrolet", + "model": "Venture", + "price": "68050.32", + "year": 1997, + "color": "Goldenrod" + }, + { + "id": 597, + "make": "Fillmore", + "model": "Fillmore", + "price": "11805.71", + "year": 1960, + "color": "Maroon" + }, + { + "id": 598, + "make": "Ford", + "model": "E-Series", + "price": "8261.35", + "year": 2003, + "color": "Crimson" + }, + { + "id": 599, + "make": "Suzuki", + "model": "Esteem", + "price": "87295.02", + "year": 1999, + "color": "Purple" + }, + { + "id": 600, + "make": "Mazda", + "model": "Protege", + "price": "49743.28", + "year": 2000, + "color": "Violet" + }, + { + "id": 601, + "make": "Buick", + "model": "Century", + "price": "21074.31", + "year": 2005, + "color": "Maroon" + }, + { + "id": 602, + "make": "Audi", + "model": "A4", + "price": "97607.28", + "year": 2012, + "color": "Aquamarine" + }, + { + "id": 603, + "make": "Toyota", + "model": "Camry Hybrid", + "price": "42427.40", + "year": 2012, + "color": "Yellow" + }, + { + "id": 604, + "make": "Volvo", + "model": "V70", + "price": "70224.10", + "year": 2000, + "color": "Turquoise" + }, + { + "id": 605, + "make": "Cadillac", + "model": "DeVille", + "price": "92516.17", + "year": 1995, + "color": "Yellow" + }, + { + "id": 606, + "make": "Hyundai", + "model": "Sonata", + "price": "69969.80", + "year": 2009, + "color": "Yellow" + }, + { + "id": 607, + "make": "Land Rover", + "model": "LR4", + "price": "33597.15", + "year": 2011, + "color": "Indigo" + }, + { + "id": 608, + "make": "Chevrolet", + "model": "Suburban 2500", + "price": "30197.30", + "year": 1998, + "color": "Mauv" + }, + { + "id": 609, + "make": "Toyota", + "model": "RAV4", + "price": "48973.20", + "year": 2003, + "color": "Indigo" + }, + { + "id": 610, + "make": "Infiniti", + "model": "Q", + "price": "50749.29", + "year": 2000, + "color": "Goldenrod" + }, + { + "id": 611, + "make": "Nissan", + "model": "350Z", + "price": "97667.88", + "year": 2007, + "color": "Turquoise" + }, + { + "id": 612, + "make": "Cadillac", + "model": "Catera", + "price": "50046.38", + "year": 2001, + "color": "Blue" + }, + { + "id": 613, + "make": "Chevrolet", + "model": "Corvette", + "price": "69653.96", + "year": 2012, + "color": "Maroon" + }, + { + "id": 614, + "make": "Dodge", + "model": "Ram Van 3500", + "price": "40942.16", + "year": 1999, + "color": "Crimson" + }, + { + "id": 615, + "make": "Porsche", + "model": "924 S", + "price": "72830.12", + "year": 1987, + "color": "Aquamarine" + }, + { + "id": 616, + "make": "Hyundai", + "model": "Sonata", + "price": "86292.82", + "year": 2000, + "color": "Yellow" + }, + { + "id": 617, + "make": "GMC", + "model": "Safari", + "price": "41522.43", + "year": 2001, + "color": "Crimson" + }, + { + "id": 618, + "make": "Mitsubishi", + "model": "Eclipse", + "price": "50390.92", + "year": 1989, + "color": "Aquamarine" + }, + { + "id": 619, + "make": "Volvo", + "model": "XC90", + "price": "55857.41", + "year": 2009, + "color": "Red" + }, + { + "id": 620, + "make": "Ford", + "model": "Fairlane", + "price": "67431.28", + "year": 1967, + "color": "Mauv" + }, + { + "id": 621, + "make": "Chrysler", + "model": "Sebring", + "price": "86160.13", + "year": 2002, + "color": "Maroon" + }, + { + "id": 622, + "make": "Buick", + "model": "Coachbuilder", + "price": "68613.13", + "year": 1991, + "color": "Turquoise" + }, + { + "id": 623, + "make": "Maserati", + "model": "GranTurismo", + "price": "59215.79", + "year": 2009, + "color": "Indigo" + }, + { + "id": 624, + "make": "Ford", + "model": "Econoline E350", + "price": "77866.34", + "year": 1995, + "color": "Mauv" + }, + { + "id": 625, + "make": "Ford", + "model": "Thunderbird", + "price": "51854.30", + "year": 2005, + "color": "Aquamarine" + }, + { + "id": 626, + "make": "Mitsubishi", + "model": "GTO", + "price": "25070.73", + "year": 1994, + "color": "Teal" + }, + { + "id": 627, + "make": "Pontiac", + "model": "GTO", + "price": "15705.65", + "year": 1969, + "color": "Khaki" + }, + { + "id": 628, + "make": "GMC", + "model": "Envoy", + "price": "49081.09", + "year": 2004, + "color": "Pink" + }, + { + "id": 629, + "make": "Saab", + "model": "9-5", + "price": "74739.19", + "year": 2000, + "color": "Turquoise" + }, + { + "id": 630, + "make": "Dodge", + "model": "Ram 1500", + "price": "36099.70", + "year": 1996, + "color": "Pink" + }, + { + "id": 631, + "make": "Mercedes-Benz", + "model": "CLK-Class", + "price": "81020.46", + "year": 1998, + "color": "Puce" + }, + { + "id": 632, + "make": "Chrysler", + "model": "Town & Country", + "price": "99555.94", + "year": 2003, + "color": "Indigo" + }, + { + "id": 633, + "make": "Kia", + "model": "Rio", + "price": "94055.15", + "year": 2002, + "color": "Purple" + }, + { + "id": 634, + "make": "Mitsubishi", + "model": "Diamante", + "price": "48639.78", + "year": 1994, + "color": "Blue" + }, + { + "id": 635, + "make": "BMW", + "model": "5 Series", + "price": "91978.16", + "year": 2010, + "color": "Goldenrod" + }, + { + "id": 636, + "make": "Toyota", + "model": "Avalon", + "price": "5005.16", + "year": 2010, + "color": "Red" + }, + { + "id": 637, + "make": "Ford", + "model": "Ranger", + "price": "88121.29", + "year": 1996, + "color": "Mauv" + }, + { + "id": 638, + "make": "Chevrolet", + "model": "G-Series G10", + "price": "22910.78", + "year": 1995, + "color": "Fuscia" + }, + { + "id": 639, + "make": "Mercedes-Benz", + "model": "E-Class", + "price": "10498.66", + "year": 1994, + "color": "Violet" + }, + { + "id": 640, + "make": "Maybach", + "model": "57", + "price": "68163.33", + "year": 2012, + "color": "Fuscia" + }, + { + "id": 641, + "make": "Dodge", + "model": "Stratus", + "price": "46343.13", + "year": 1998, + "color": "Mauv" + }, + { + "id": 642, + "make": "Plymouth", + "model": "Neon", + "price": "60222.10", + "year": 1999, + "color": "Mauv" + }, + { + "id": 643, + "make": "Austin", + "model": "Mini", + "price": "83356.60", + "year": 1959, + "color": "Yellow" + }, + { + "id": 644, + "make": "Toyota", + "model": "Celica", + "price": "75181.18", + "year": 1992, + "color": "Goldenrod" + }, + { + "id": 645, + "make": "Volvo", + "model": "XC70", + "price": "77593.97", + "year": 2012, + "color": "Purple" + }, + { + "id": 646, + "make": "Nissan", + "model": "Maxima", + "price": "86113.05", + "year": 2010, + "color": "Pink" + }, + { + "id": 647, + "make": "Suzuki", + "model": "Sidekick", + "price": "66528.07", + "year": 1992, + "color": "Indigo" + }, + { + "id": 648, + "make": "Chevrolet", + "model": "3500", + "price": "55718.93", + "year": 1999, + "color": "Teal" + }, + { + "id": 649, + "make": "Suzuki", + "model": "Reno", + "price": "17283.38", + "year": 2006, + "color": "Puce" + }, + { + "id": 650, + "make": "Mercury", + "model": "Topaz", + "price": "78799.18", + "year": 1994, + "color": "Orange" + }, + { + "id": 651, + "make": "GMC", + "model": "2500 Club Coupe", + "price": "65358.69", + "year": 1996, + "color": "Mauv" + }, + { + "id": 652, + "make": "Nissan", + "model": "Altima", + "price": "78924.37", + "year": 2004, + "color": "Mauv" + }, + { + "id": 653, + "make": "Chrysler", + "model": "300M", + "price": "89075.19", + "year": 2003, + "color": "Maroon" + }, + { + "id": 654, + "make": "Ford", + "model": "Ranger", + "price": "36751.00", + "year": 2002, + "color": "Crimson" + }, + { + "id": 655, + "make": "Ford", + "model": "Freestyle", + "price": "63147.43", + "year": 2007, + "color": "Goldenrod" + }, + { + "id": 656, + "make": "Subaru", + "model": "Outback", + "price": "60016.94", + "year": 2000, + "color": "Turquoise" + }, + { + "id": 657, + "make": "Nissan", + "model": "Sentra", + "price": "25187.24", + "year": 2004, + "color": "Fuscia" + }, + { + "id": 658, + "make": "Chevrolet", + "model": "Suburban 2500", + "price": "77148.51", + "year": 2011, + "color": "Violet" + }, + { + "id": 659, + "make": "Volkswagen", + "model": "Beetle", + "price": "15697.27", + "year": 1965, + "color": "Mauv" + }, + { + "id": 660, + "make": "Audi", + "model": "A8", + "price": "46966.80", + "year": 2012, + "color": "Orange" + }, + { + "id": 661, + "make": "Pontiac", + "model": "Bonneville", + "price": "23585.56", + "year": 1998, + "color": "Red" + }, + { + "id": 662, + "make": "Suzuki", + "model": "XL-7", + "price": "78711.99", + "year": 2005, + "color": "Maroon" + }, + { + "id": 663, + "make": "Maserati", + "model": "Coupe", + "price": "99140.57", + "year": 2005, + "color": "Purple" + }, + { + "id": 664, + "make": "GMC", + "model": "Sonoma Club Coupe", + "price": "44341.00", + "year": 1997, + "color": "Yellow" + }, + { + "id": 665, + "make": "Nissan", + "model": "JUKE", + "price": "84927.01", + "year": 2011, + "color": "Fuscia" + }, + { + "id": 666, + "make": "Land Rover", + "model": "Range Rover Evoque", + "price": "72732.73", + "year": 2012, + "color": "Maroon" + }, + { + "id": 667, + "make": "Mercury", + "model": "Topaz", + "price": "20119.80", + "year": 1991, + "color": "Puce" + }, + { + "id": 668, + "make": "Lotus", + "model": "Esprit", + "price": "11885.39", + "year": 1992, + "color": "Pink" + }, + { + "id": 669, + "make": "BMW", + "model": "5 Series", + "price": "95141.97", + "year": 1993, + "color": "Teal" + }, + { + "id": 670, + "make": "Chevrolet", + "model": "Camaro", + "price": "6875.17", + "year": 1977, + "color": "Aquamarine" + }, + { + "id": 671, + "make": "Mazda", + "model": "929", + "price": "13824.26", + "year": 1994, + "color": "Mauv" + }, + { + "id": 672, + "make": "Audi", + "model": "5000CS", + "price": "78410.44", + "year": 1987, + "color": "Goldenrod" + }, + { + "id": 673, + "make": "Ford", + "model": "Taurus", + "price": "25634.04", + "year": 1990, + "color": "Fuscia" + }, + { + "id": 674, + "make": "Jeep", + "model": "Cherokee", + "price": "51102.70", + "year": 2000, + "color": "Violet" + }, + { + "id": 675, + "make": "Buick", + "model": "Lucerne", + "price": "80931.32", + "year": 2010, + "color": "Crimson" + }, + { + "id": 676, + "make": "Kia", + "model": "Optima", + "price": "31105.26", + "year": 2009, + "color": "Purple" + }, + { + "id": 677, + "make": "Pontiac", + "model": "Trans Sport", + "price": "24571.50", + "year": 1999, + "color": "Maroon" + }, + { + "id": 678, + "make": "Acura", + "model": "TL", + "price": "63922.42", + "year": 2002, + "color": "Goldenrod" + }, + { + "id": 679, + "make": "Audi", + "model": "A4", + "price": "81419.93", + "year": 2008, + "color": "Mauv" + }, + { + "id": 680, + "make": "Nissan", + "model": "Murano", + "price": "37064.56", + "year": 2012, + "color": "Orange" + }, + { + "id": 681, + "make": "Ford", + "model": "Econoline E150", + "price": "37000.17", + "year": 1994, + "color": "Teal" + }, + { + "id": 682, + "make": "Mercedes-Benz", + "model": "S-Class", + "price": "77424.99", + "year": 1989, + "color": "Fuscia" + }, + { + "id": 683, + "make": "Toyota", + "model": "Supra", + "price": "97240.27", + "year": 1998, + "color": "Yellow" + }, + { + "id": 684, + "make": "Buick", + "model": "Century", + "price": "87811.79", + "year": 1991, + "color": "Purple" + }, + { + "id": 685, + "make": "Cadillac", + "model": "XLR", + "price": "61307.95", + "year": 2007, + "color": "Indigo" + }, + { + "id": 686, + "make": "Cadillac", + "model": "Escalade", + "price": "14178.69", + "year": 2003, + "color": "Red" + }, + { + "id": 687, + "make": "Mazda", + "model": "MX-5", + "price": "30330.88", + "year": 2001, + "color": "Violet" + }, + { + "id": 688, + "make": "Kia", + "model": "Rio", + "price": "29527.93", + "year": 2006, + "color": "Violet" + }, + { + "id": 689, + "make": "Dodge", + "model": "Magnum", + "price": "82570.25", + "year": 2006, + "color": "Violet" + }, + { + "id": 690, + "make": "Ford", + "model": "EXP", + "price": "91770.57", + "year": 1987, + "color": "Mauv" + }, + { + "id": 691, + "make": "Lamborghini", + "model": "Diablo", + "price": "99680.32", + "year": 1995, + "color": "Turquoise" + }, + { + "id": 692, + "make": "Toyota", + "model": "4Runner", + "price": "76740.06", + "year": 1995, + "color": "Turquoise" + }, + { + "id": 693, + "make": "Alfa Romeo", + "model": "164", + "price": "40894.81", + "year": 1992, + "color": "Crimson" + }, + { + "id": 694, + "make": "Fillmore", + "model": "Fillmore", + "price": "97211.76", + "year": 1960, + "color": "Turquoise" + }, + { + "id": 695, + "make": "Volvo", + "model": "XC90", + "price": "19595.11", + "year": 2005, + "color": "Crimson" + }, + { + "id": 696, + "make": "Pontiac", + "model": "Firefly", + "price": "44267.50", + "year": 1984, + "color": "Purple" + }, + { + "id": 697, + "make": "Mercedes-Benz", + "model": "E-Class", + "price": "43520.21", + "year": 1986, + "color": "Red" + }, + { + "id": 698, + "make": "Jaguar", + "model": "XK", + "price": "14675.36", + "year": 2011, + "color": "Mauv" + }, + { + "id": 699, + "make": "Audi", + "model": "Quattro", + "price": "94669.14", + "year": 1994, + "color": "Indigo" + }, + { + "id": 700, + "make": "Mitsubishi", + "model": "Pajero", + "price": "34628.05", + "year": 1987, + "color": "Teal" + }, + { + "id": 701, + "make": "Ford", + "model": "F-Series", + "price": "42311.28", + "year": 1994, + "color": "Indigo" + }, + { + "id": 702, + "make": "Infiniti", + "model": "G", + "price": "90892.70", + "year": 2003, + "color": "Purple" + }, + { + "id": 703, + "make": "Mercury", + "model": "Grand Marquis", + "price": "28980.81", + "year": 2005, + "color": "Purple" + }, + { + "id": 704, + "make": "Mercedes-Benz", + "model": "M-Class", + "price": "92121.10", + "year": 1999, + "color": "Violet" + }, + { + "id": 705, + "make": "Chevrolet", + "model": "Avalanche", + "price": "42554.65", + "year": 2011, + "color": "Fuscia" + }, + { + "id": 706, + "make": "Hummer", + "model": "H3", + "price": "44425.99", + "year": 2010, + "color": "Teal" + }, + { + "id": 707, + "make": "Ford", + "model": "Contour", + "price": "42143.62", + "year": 1995, + "color": "Yellow" + }, + { + "id": 708, + "make": "Lexus", + "model": "LS", + "price": "70527.23", + "year": 1998, + "color": "Green" + }, + { + "id": 709, + "make": "Saab", + "model": "900", + "price": "45455.40", + "year": 1991, + "color": "Red" + }, + { + "id": 710, + "make": "Jeep", + "model": "Grand Cherokee", + "price": "87558.87", + "year": 2009, + "color": "Turquoise" + }, + { + "id": 711, + "make": "Dodge", + "model": "Ram Wagon B150", + "price": "55885.99", + "year": 1993, + "color": "Crimson" + }, + { + "id": 712, + "make": "Mercedes-Benz", + "model": "M-Class", + "price": "21104.19", + "year": 2006, + "color": "Green" + }, + { + "id": 713, + "make": "Suzuki", + "model": "Daewoo Lacetti", + "price": "52033.49", + "year": 2005, + "color": "Teal" + }, + { + "id": 714, + "make": "Chevrolet", + "model": "Express 3500", + "price": "67964.96", + "year": 2008, + "color": "Turquoise" + }, + { + "id": 715, + "make": "Mitsubishi", + "model": "Lancer Evolution", + "price": "81096.37", + "year": 2002, + "color": "Puce" + }, + { + "id": 716, + "make": "Hyundai", + "model": "Sonata", + "price": "39077.13", + "year": 1996, + "color": "Red" + }, + { + "id": 717, + "make": "Porsche", + "model": "Panamera", + "price": "48719.76", + "year": 2013, + "color": "Aquamarine" + }, + { + "id": 718, + "make": "Saab", + "model": "900", + "price": "61313.35", + "year": 1987, + "color": "Puce" + }, + { + "id": 719, + "make": "Audi", + "model": "A6", + "price": "38083.03", + "year": 2004, + "color": "Green" + }, + { + "id": 720, + "make": "Mercedes-Benz", + "model": "S-Class", + "price": "81648.63", + "year": 2003, + "color": "Puce" + }, + { + "id": 721, + "make": "Ford", + "model": "Mustang", + "price": "11266.79", + "year": 1971, + "color": "Violet" + }, + { + "id": 722, + "make": "Mazda", + "model": "B-Series", + "price": "23044.52", + "year": 2006, + "color": "Purple" + }, + { + "id": 723, + "make": "Mazda", + "model": "Mazdaspeed 3", + "price": "44280.12", + "year": 2012, + "color": "Green" + }, + { + "id": 724, + "make": "Nissan", + "model": "Armada", + "price": "72693.15", + "year": 2008, + "color": "Teal" + }, + { + "id": 725, + "make": "Hyundai", + "model": "Tiburon", + "price": "43384.04", + "year": 2006, + "color": "Puce" + }, + { + "id": 726, + "make": "Suzuki", + "model": "Grand Vitara", + "price": "45438.97", + "year": 2002, + "color": "Violet" + }, + { + "id": 727, + "make": "Ford", + "model": "F-Series", + "price": "78218.71", + "year": 2004, + "color": "Mauv" + }, + { + "id": 728, + "make": "Dodge", + "model": "Challenger", + "price": "48427.04", + "year": 2009, + "color": "Indigo" + }, + { + "id": 729, + "make": "Chevrolet", + "model": "Corvette", + "price": "45100.39", + "year": 1994, + "color": "Goldenrod" + }, + { + "id": 730, + "make": "Mercedes-Benz", + "model": "SLK-Class", + "price": "69894.80", + "year": 2010, + "color": "Puce" + }, + { + "id": 731, + "make": "Dodge", + "model": "Ram Van B350", + "price": "91022.93", + "year": 1992, + "color": "Puce" + }, + { + "id": 732, + "make": "Mitsubishi", + "model": "Galant", + "price": "15553.56", + "year": 1997, + "color": "Mauv" + }, + { + "id": 733, + "make": "Bentley", + "model": "Azure", + "price": "86402.64", + "year": 2007, + "color": "Khaki" + }, + { + "id": 734, + "make": "Toyota", + "model": "Avalon", + "price": "92468.47", + "year": 2002, + "color": "Green" + }, + { + "id": 735, + "make": "Audi", + "model": "A6", + "price": "88232.05", + "year": 2002, + "color": "Purple" + }, + { + "id": 736, + "make": "Acura", + "model": "CL", + "price": "71056.20", + "year": 1997, + "color": "Red" + }, + { + "id": 737, + "make": "Lexus", + "model": "IS F", + "price": "58127.39", + "year": 2010, + "color": "Teal" + }, + { + "id": 738, + "make": "Toyota", + "model": "Matrix", + "price": "8523.07", + "year": 2009, + "color": "Orange" + }, + { + "id": 739, + "make": "Toyota", + "model": "Camry", + "price": "87794.60", + "year": 2000, + "color": "Pink" + }, + { + "id": 740, + "make": "Cadillac", + "model": "Eldorado", + "price": "69046.23", + "year": 2000, + "color": "Violet" + }, + { + "id": 741, + "make": "Infiniti", + "model": "M", + "price": "99505.64", + "year": 2010, + "color": "Green" + }, + { + "id": 742, + "make": "Mercedes-Benz", + "model": "SL-Class", + "price": "74641.58", + "year": 1991, + "color": "Khaki" + }, + { + "id": 743, + "make": "Toyota", + "model": "Matrix", + "price": "21120.89", + "year": 2007, + "color": "Mauv" + }, + { + "id": 744, + "make": "BMW", + "model": "Z4", + "price": "17664.92", + "year": 2012, + "color": "Purple" + }, + { + "id": 745, + "make": "Lexus", + "model": "ES", + "price": "94757.08", + "year": 2008, + "color": "Aquamarine" + }, + { + "id": 746, + "make": "Toyota", + "model": "Avalon", + "price": "12839.88", + "year": 2005, + "color": "Mauv" + }, + { + "id": 747, + "make": "GMC", + "model": "Yukon XL 1500", + "price": "78504.48", + "year": 2004, + "color": "Aquamarine" + }, + { + "id": 748, + "make": "Mercury", + "model": "Cougar", + "price": "90575.17", + "year": 1968, + "color": "Puce" + }, + { + "id": 749, + "make": "Chevrolet", + "model": "Corvette", + "price": "62990.81", + "year": 1994, + "color": "Crimson" + }, + { + "id": 750, + "make": "Chevrolet", + "model": "Colorado", + "price": "13688.90", + "year": 2008, + "color": "Crimson" + }, + { + "id": 751, + "make": "GMC", + "model": "1500 Club Coupe", + "price": "33072.86", + "year": 1994, + "color": "Indigo" + }, + { + "id": 752, + "make": "Dodge", + "model": "Dakota Club", + "price": "88941.24", + "year": 1997, + "color": "Puce" + }, + { + "id": 753, + "make": "Porsche", + "model": "968", + "price": "9858.81", + "year": 1994, + "color": "Turquoise" + }, + { + "id": 754, + "make": "Dodge", + "model": "Ram Van 3500", + "price": "23233.43", + "year": 2002, + "color": "Yellow" + }, + { + "id": 755, + "make": "Volvo", + "model": "S80", + "price": "49997.38", + "year": 2012, + "color": "Orange" + }, + { + "id": 756, + "make": "Kia", + "model": "Sedona", + "price": "26637.33", + "year": 2004, + "color": "Crimson" + }, + { + "id": 757, + "make": "BMW", + "model": "7 Series", + "price": "56138.44", + "year": 1992, + "color": "Indigo" + }, + { + "id": 758, + "make": "Lamborghini", + "model": "Gallardo", + "price": "78645.64", + "year": 2005, + "color": "Purple" + }, + { + "id": 759, + "make": "Chrysler", + "model": "Sebring", + "price": "69509.11", + "year": 1997, + "color": "Yellow" + }, + { + "id": 760, + "make": "Saturn", + "model": "S-Series", + "price": "67221.38", + "year": 1992, + "color": "Maroon" + }, + { + "id": 761, + "make": "GMC", + "model": "Sonoma", + "price": "79665.03", + "year": 1998, + "color": "Pink" + }, + { + "id": 762, + "make": "Chevrolet", + "model": "Cavalier", + "price": "42684.61", + "year": 2002, + "color": "Turquoise" + }, + { + "id": 763, + "make": "Pontiac", + "model": "Grand Am", + "price": "53152.66", + "year": 1988, + "color": "Crimson" + }, + { + "id": 764, + "make": "Kia", + "model": "Sportage", + "price": "45866.48", + "year": 1996, + "color": "Teal" + }, + { + "id": 765, + "make": "Mercury", + "model": "Topaz", + "price": "23466.83", + "year": 1989, + "color": "Fuscia" + }, + { + "id": 766, + "make": "Porsche", + "model": "Cayenne", + "price": "57933.92", + "year": 2010, + "color": "Aquamarine" + }, + { + "id": 767, + "make": "Chrysler", + "model": "Sebring", + "price": "62464.20", + "year": 2000, + "color": "Purple" + }, + { + "id": 768, + "make": "Mazda", + "model": "RX-8", + "price": "97167.26", + "year": 2009, + "color": "Aquamarine" + }, + { + "id": 769, + "make": "Mercedes-Benz", + "model": "300SE", + "price": "11916.60", + "year": 1992, + "color": "Pink" + }, + { + "id": 770, + "make": "Toyota", + "model": "Celica", + "price": "78824.89", + "year": 1999, + "color": "Goldenrod" + }, + { + "id": 771, + "make": "Subaru", + "model": "BRZ", + "price": "96583.25", + "year": 2013, + "color": "Puce" + }, + { + "id": 772, + "make": "Lincoln", + "model": "Navigator", + "price": "53323.29", + "year": 1999, + "color": "Violet" + }, + { + "id": 773, + "make": "Mitsubishi", + "model": "Outlander", + "price": "45140.65", + "year": 2007, + "color": "Puce" + }, + { + "id": 774, + "make": "Lexus", + "model": "GS", + "price": "46223.39", + "year": 2013, + "color": "Yellow" + }, + { + "id": 775, + "make": "Nissan", + "model": "Murano", + "price": "7581.22", + "year": 2006, + "color": "Indigo" + }, + { + "id": 776, + "make": "Subaru", + "model": "Impreza", + "price": "13280.97", + "year": 2009, + "color": "Mauv" + }, + { + "id": 777, + "make": "Dodge", + "model": "D150 Club", + "price": "33174.12", + "year": 1993, + "color": "Mauv" + }, + { + "id": 778, + "make": "GMC", + "model": "Sonoma", + "price": "52346.81", + "year": 1992, + "color": "Teal" + }, + { + "id": 779, + "make": "Jeep", + "model": "Liberty", + "price": "47002.19", + "year": 2012, + "color": "Indigo" + }, + { + "id": 780, + "make": "Suzuki", + "model": "Equator", + "price": "90728.40", + "year": 2011, + "color": "Aquamarine" + }, + { + "id": 781, + "make": "Kia", + "model": "Optima", + "price": "20567.67", + "year": 2002, + "color": "Puce" + }, + { + "id": 782, + "make": "Toyota", + "model": "Avalon", + "price": "15941.44", + "year": 1998, + "color": "Blue" + }, + { + "id": 783, + "make": "Toyota", + "model": "Camry", + "price": "74469.11", + "year": 2009, + "color": "Aquamarine" + }, + { + "id": 784, + "make": "Buick", + "model": "Rainier", + "price": "50782.35", + "year": 2006, + "color": "Green" + }, + { + "id": 785, + "make": "Buick", + "model": "Regal", + "price": "76808.94", + "year": 1989, + "color": "Puce" + }, + { + "id": 786, + "make": "Dodge", + "model": "Charger", + "price": "71786.14", + "year": 2008, + "color": "Yellow" + }, + { + "id": 787, + "make": "Infiniti", + "model": "QX", + "price": "20428.57", + "year": 2012, + "color": "Khaki" + }, + { + "id": 788, + "make": "Mercury", + "model": "Cougar", + "price": "57801.81", + "year": 1967, + "color": "Violet" + }, + { + "id": 789, + "make": "Toyota", + "model": "4Runner", + "price": "25111.51", + "year": 2002, + "color": "Orange" + }, + { + "id": 790, + "make": "Chevrolet", + "model": "Monte Carlo", + "price": "12008.50", + "year": 2005, + "color": "Green" + }, + { + "id": 791, + "make": "Subaru", + "model": "SVX", + "price": "55109.86", + "year": 1997, + "color": "Goldenrod" + }, + { + "id": 792, + "make": "Nissan", + "model": "Frontier", + "price": "79649.13", + "year": 1998, + "color": "Yellow" + }, + { + "id": 793, + "make": "Infiniti", + "model": "G", + "price": "61910.38", + "year": 2010, + "color": "Orange" + }, + { + "id": 794, + "make": "Dodge", + "model": "Dakota", + "price": "9814.09", + "year": 1999, + "color": "Red" + }, + { + "id": 795, + "make": "Mazda", + "model": "B-Series", + "price": "47260.84", + "year": 1993, + "color": "Red" + }, + { + "id": 796, + "make": "Pontiac", + "model": "LeMans", + "price": "97584.84", + "year": 1965, + "color": "Violet" + }, + { + "id": 797, + "make": "Ford", + "model": "Escort", + "price": "95753.70", + "year": 1999, + "color": "Orange" + }, + { + "id": 798, + "make": "Mercedes-Benz", + "model": "CLK-Class", + "price": "85660.40", + "year": 2002, + "color": "Crimson" + }, + { + "id": 799, + "make": "Nissan", + "model": "Maxima", + "price": "61934.82", + "year": 2007, + "color": "Blue" + }, + { + "id": 800, + "make": "Chevrolet", + "model": "Suburban 2500", + "price": "52004.90", + "year": 1992, + "color": "Yellow" + }, + { + "id": 801, + "make": "Subaru", + "model": "Legacy", + "price": "10562.14", + "year": 1997, + "color": "Yellow" + }, + { + "id": 802, + "make": "Pontiac", + "model": "Sunbird", + "price": "10292.97", + "year": 1989, + "color": "Teal" + }, + { + "id": 803, + "make": "Audi", + "model": "TT", + "price": "42520.95", + "year": 2001, + "color": "Violet" + }, + { + "id": 804, + "make": "Isuzu", + "model": "Rodeo", + "price": "17780.79", + "year": 1992, + "color": "Puce" + }, + { + "id": 805, + "make": "Chevrolet", + "model": "Suburban 1500", + "price": "64958.47", + "year": 2012, + "color": "Green" + }, + { + "id": 806, + "make": "Infiniti", + "model": "EX", + "price": "32564.96", + "year": 2009, + "color": "Crimson" + }, + { + "id": 807, + "make": "Ford", + "model": "Ranger", + "price": "54343.98", + "year": 2008, + "color": "Khaki" + }, + { + "id": 808, + "make": "Mercedes-Benz", + "model": "GL-Class", + "price": "52619.02", + "year": 2011, + "color": "Indigo" + }, + { + "id": 809, + "make": "Eagle", + "model": "Vision", + "price": "75711.73", + "year": 1997, + "color": "Pink" + }, + { + "id": 810, + "make": "Chevrolet", + "model": "Astro", + "price": "67067.11", + "year": 2002, + "color": "Khaki" + }, + { + "id": 811, + "make": "GMC", + "model": "Jimmy", + "price": "61966.95", + "year": 2001, + "color": "Pink" + }, + { + "id": 812, + "make": "Honda", + "model": "Pilot", + "price": "50037.63", + "year": 2012, + "color": "Crimson" + }, + { + "id": 813, + "make": "GMC", + "model": "Sonoma", + "price": "67317.29", + "year": 2002, + "color": "Orange" + }, + { + "id": 814, + "make": "Mercury", + "model": "Villager", + "price": "25321.14", + "year": 1994, + "color": "Purple" + }, + { + "id": 815, + "make": "GMC", + "model": "Savana 2500", + "price": "42590.89", + "year": 1999, + "color": "Crimson" + }, + { + "id": 816, + "make": "Buick", + "model": "Regal", + "price": "58618.47", + "year": 2002, + "color": "Orange" + }, + { + "id": 817, + "make": "BMW", + "model": "330", + "price": "60079.62", + "year": 2005, + "color": "Teal" + }, + { + "id": 818, + "make": "Lexus", + "model": "GS", + "price": "17569.59", + "year": 2007, + "color": "Red" + }, + { + "id": 819, + "make": "Chevrolet", + "model": "Colorado", + "price": "80337.50", + "year": 2011, + "color": "Goldenrod" + }, + { + "id": 820, + "make": "Oldsmobile", + "model": "Cutlass", + "price": "80126.29", + "year": 1997, + "color": "Maroon" + }, + { + "id": 821, + "make": "Volkswagen", + "model": "Type 2", + "price": "51124.60", + "year": 1986, + "color": "Orange" + }, + { + "id": 822, + "make": "Isuzu", + "model": "Trooper", + "price": "27531.59", + "year": 1993, + "color": "Yellow" + }, + { + "id": 823, + "make": "Nissan", + "model": "Versa", + "price": "28964.43", + "year": 2011, + "color": "Blue" + }, + { + "id": 824, + "make": "Porsche", + "model": "Cayenne", + "price": "40588.67", + "year": 2012, + "color": "Red" + }, + { + "id": 825, + "make": "Volkswagen", + "model": "Eos", + "price": "62390.04", + "year": 2011, + "color": "Purple" + }, + { + "id": 826, + "make": "Mercury", + "model": "Topaz", + "price": "37048.11", + "year": 1991, + "color": "Mauv" + }, + { + "id": 827, + "make": "Dodge", + "model": "Neon", + "price": "74904.60", + "year": 1998, + "color": "Green" + }, + { + "id": 828, + "make": "Dodge", + "model": "Ram 2500", + "price": "40532.28", + "year": 2009, + "color": "Indigo" + }, + { + "id": 829, + "make": "Chevrolet", + "model": "Lumina", + "price": "24176.34", + "year": 1997, + "color": "Red" + }, + { + "id": 830, + "make": "Toyota", + "model": "Tacoma Xtra", + "price": "23056.70", + "year": 1998, + "color": "Orange" + }, + { + "id": 831, + "make": "Toyota", + "model": "Truck Xtracab SR5", + "price": "65164.68", + "year": 1989, + "color": "Turquoise" + }, + { + "id": 832, + "make": "Ram", + "model": "C/V", + "price": "35102.11", + "year": 2012, + "color": "Crimson" + }, + { + "id": 833, + "make": "Chevrolet", + "model": "Silverado 2500", + "price": "69852.03", + "year": 2010, + "color": "Red" + }, + { + "id": 834, + "make": "Subaru", + "model": "Impreza", + "price": "62008.45", + "year": 1993, + "color": "Orange" + }, + { + "id": 835, + "make": "Maybach", + "model": "62", + "price": "87652.66", + "year": 2008, + "color": "Violet" + }, + { + "id": 836, + "make": "Plymouth", + "model": "Prowler", + "price": "55208.19", + "year": 2000, + "color": "Aquamarine" + }, + { + "id": 837, + "make": "Ferrari", + "model": "458 Italia", + "price": "21984.68", + "year": 2010, + "color": "Yellow" + }, + { + "id": 838, + "make": "Dodge", + "model": "Stratus", + "price": "37163.42", + "year": 2002, + "color": "Fuscia" + }, + { + "id": 839, + "make": "BMW", + "model": "7 Series", + "price": "99502.62", + "year": 2009, + "color": "Mauv" + }, + { + "id": 840, + "make": "Ford", + "model": "E150", + "price": "82622.22", + "year": 2004, + "color": "Violet" + }, + { + "id": 841, + "make": "Ford", + "model": "Escort", + "price": "60996.53", + "year": 1987, + "color": "Purple" + }, + { + "id": 842, + "make": "Pontiac", + "model": "Montana", + "price": "91020.41", + "year": 1999, + "color": "Purple" + }, + { + "id": 843, + "make": "Cadillac", + "model": "CTS-V", + "price": "13481.41", + "year": 2006, + "color": "Red" + }, + { + "id": 844, + "make": "Volvo", + "model": "V70", + "price": "37050.13", + "year": 2003, + "color": "Puce" + }, + { + "id": 845, + "make": "Honda", + "model": "CR-V", + "price": "99559.77", + "year": 2000, + "color": "Maroon" + }, + { + "id": 846, + "make": "Ford", + "model": "Fusion", + "price": "79300.56", + "year": 2011, + "color": "Khaki" + }, + { + "id": 847, + "make": "Mercedes-Benz", + "model": "S-Class", + "price": "16750.48", + "year": 1993, + "color": "Puce" + }, + { + "id": 848, + "make": "Pontiac", + "model": "Vibe", + "price": "65884.70", + "year": 2009, + "color": "Maroon" + }, + { + "id": 849, + "make": "Toyota", + "model": "Sienna", + "price": "95247.30", + "year": 2002, + "color": "Goldenrod" + }, + { + "id": 850, + "make": "Ford", + "model": "Econoline E150", + "price": "47156.56", + "year": 1992, + "color": "Violet" + }, + { + "id": 851, + "make": "Acura", + "model": "Legend", + "price": "71124.08", + "year": 1990, + "color": "Goldenrod" + }, + { + "id": 852, + "make": "Saab", + "model": "9-5", + "price": "59919.20", + "year": 2001, + "color": "Blue" + }, + { + "id": 853, + "make": "Ford", + "model": "F250", + "price": "30657.45", + "year": 2010, + "color": "Blue" + }, + { + "id": 854, + "make": "Ford", + "model": "F250", + "price": "20928.21", + "year": 2007, + "color": "Indigo" + }, + { + "id": 855, + "make": "Austin", + "model": "Mini Cooper", + "price": "31402.86", + "year": 1961, + "color": "Purple" + }, + { + "id": 856, + "make": "Ford", + "model": "Aerostar", + "price": "69159.03", + "year": 1986, + "color": "Maroon" + }, + { + "id": 857, + "make": "Ford", + "model": "Focus", + "price": "18906.80", + "year": 2001, + "color": "Red" + }, + { + "id": 858, + "make": "Ford", + "model": "E250", + "price": "87529.39", + "year": 2010, + "color": "Maroon" + }, + { + "id": 859, + "make": "Mercury", + "model": "Grand Marquis", + "price": "66100.78", + "year": 2005, + "color": "Fuscia" + }, + { + "id": 860, + "make": "McLaren", + "model": "MP4-12C", + "price": "80518.96", + "year": 2012, + "color": "Yellow" + }, + { + "id": 861, + "make": "Oldsmobile", + "model": "Silhouette", + "price": "26781.93", + "year": 2003, + "color": "Red" + }, + { + "id": 862, + "make": "Volkswagen", + "model": "CC", + "price": "85153.35", + "year": 2011, + "color": "Blue" + }, + { + "id": 863, + "make": "Volvo", + "model": "XC70", + "price": "59631.06", + "year": 2007, + "color": "Khaki" + }, + { + "id": 864, + "make": "Nissan", + "model": "Xterra", + "price": "70971.95", + "year": 2004, + "color": "Orange" + }, + { + "id": 865, + "make": "Mazda", + "model": "MX-5", + "price": "52348.71", + "year": 1994, + "color": "Pink" + }, + { + "id": 866, + "make": "Buick", + "model": "Skyhawk", + "price": "75519.89", + "year": 1987, + "color": "Maroon" + }, + { + "id": 867, + "make": "Chevrolet", + "model": "Caprice", + "price": "97794.12", + "year": 1977, + "color": "Teal" + }, + { + "id": 868, + "make": "Land Rover", + "model": "LR3", + "price": "29020.09", + "year": 2008, + "color": "Mauv" + }, + { + "id": 869, + "make": "Volkswagen", + "model": "New Beetle", + "price": "97747.57", + "year": 2007, + "color": "Aquamarine" + }, + { + "id": 870, + "make": "Lexus", + "model": "LX", + "price": "63842.94", + "year": 2007, + "color": "Maroon" + }, + { + "id": 871, + "make": "Mercury", + "model": "Villager", + "price": "5918.76", + "year": 1997, + "color": "Violet" + }, + { + "id": 872, + "make": "Hyundai", + "model": "XG350", + "price": "70259.65", + "year": 2003, + "color": "Teal" + }, + { + "id": 873, + "make": "Chevrolet", + "model": "Suburban 1500", + "price": "9477.43", + "year": 2011, + "color": "Khaki" + }, + { + "id": 874, + "make": "Ford", + "model": "E-Series", + "price": "78368.26", + "year": 1994, + "color": "Green" + }, + { + "id": 875, + "make": "Ford", + "model": "Club Wagon", + "price": "79872.76", + "year": 1994, + "color": "Teal" + }, + { + "id": 876, + "make": "Ford", + "model": "Expedition", + "price": "64803.19", + "year": 2001, + "color": "Aquamarine" + }, + { + "id": 877, + "make": "Infiniti", + "model": "G25", + "price": "41978.20", + "year": 2012, + "color": "Aquamarine" + }, + { + "id": 878, + "make": "Mercedes-Benz", + "model": "Sprinter 3500", + "price": "86411.96", + "year": 2012, + "color": "Puce" + }, + { + "id": 879, + "make": "GMC", + "model": "Sierra 2500", + "price": "5580.17", + "year": 2006, + "color": "Violet" + }, + { + "id": 880, + "make": "Toyota", + "model": "Prius v", + "price": "73742.42", + "year": 2012, + "color": "Violet" + }, + { + "id": 881, + "make": "Chevrolet", + "model": "Express 2500", + "price": "7310.95", + "year": 1997, + "color": "Green" + }, + { + "id": 882, + "make": "Audi", + "model": "Allroad", + "price": "49615.15", + "year": 2003, + "color": "Yellow" + }, + { + "id": 883, + "make": "Subaru", + "model": "Impreza", + "price": "8498.41", + "year": 2011, + "color": "Pink" + }, + { + "id": 884, + "make": "Acura", + "model": "RDX", + "price": "39347.41", + "year": 2007, + "color": "Yellow" + }, + { + "id": 885, + "make": "Lexus", + "model": "ES", + "price": "44199.79", + "year": 2010, + "color": "Pink" + }, + { + "id": 886, + "make": "GMC", + "model": "Suburban 1500", + "price": "90024.97", + "year": 1999, + "color": "Crimson" + }, + { + "id": 887, + "make": "Mercedes-Benz", + "model": "SL-Class", + "price": "34452.09", + "year": 2012, + "color": "Red" + }, + { + "id": 888, + "make": "Subaru", + "model": "Impreza", + "price": "25929.18", + "year": 2012, + "color": "Aquamarine" + }, + { + "id": 889, + "make": "Volkswagen", + "model": "Jetta", + "price": "64233.34", + "year": 1984, + "color": "Maroon" + }, + { + "id": 890, + "make": "Infiniti", + "model": "FX", + "price": "32756.64", + "year": 2003, + "color": "Fuscia" + }, + { + "id": 891, + "make": "Chevrolet", + "model": "Sonic", + "price": "69579.85", + "year": 2012, + "color": "Indigo" + }, + { + "id": 892, + "make": "Ford", + "model": "Mustang", + "price": "93853.16", + "year": 1974, + "color": "Indigo" + }, + { + "id": 893, + "make": "Porsche", + "model": "911", + "price": "13712.61", + "year": 2003, + "color": "Mauv" + }, + { + "id": 894, + "make": "BMW", + "model": "7 Series", + "price": "10602.00", + "year": 2002, + "color": "Teal" + }, + { + "id": 895, + "make": "Ford", + "model": "Fusion", + "price": "47209.84", + "year": 2012, + "color": "Aquamarine" + }, + { + "id": 896, + "make": "GMC", + "model": "Yukon", + "price": "16618.20", + "year": 2013, + "color": "Red" + }, + { + "id": 897, + "make": "Saturn", + "model": "Outlook", + "price": "97787.05", + "year": 2010, + "color": "Red" + }, + { + "id": 898, + "make": "Mercedes-Benz", + "model": "CL-Class", + "price": "37580.29", + "year": 2009, + "color": "Puce" + }, + { + "id": 899, + "make": "Dodge", + "model": "Grand Caravan", + "price": "71138.71", + "year": 1993, + "color": "Pink" + }, + { + "id": 900, + "make": "Ford", + "model": "Taurus", + "price": "94829.15", + "year": 1990, + "color": "Yellow" + }, + { + "id": 901, + "make": "GMC", + "model": "Yukon", + "price": "40493.36", + "year": 2011, + "color": "Turquoise" + }, + { + "id": 902, + "make": "Mazda", + "model": "Protege5", + "price": "6600.59", + "year": 2002, + "color": "Yellow" + }, + { + "id": 903, + "make": "Chevrolet", + "model": "Citation", + "price": "32312.95", + "year": 1980, + "color": "Pink" + }, + { + "id": 904, + "make": "Buick", + "model": "Skyhawk", + "price": "86223.99", + "year": 1984, + "color": "Violet" + }, + { + "id": 905, + "make": "Land Rover", + "model": "LR2", + "price": "96183.04", + "year": 2011, + "color": "Blue" + }, + { + "id": 906, + "make": "Plymouth", + "model": "Grand Voyager", + "price": "54437.94", + "year": 1996, + "color": "Orange" + }, + { + "id": 907, + "make": "Buick", + "model": "Rendezvous", + "price": "38811.69", + "year": 2003, + "color": "Purple" + }, + { + "id": 908, + "make": "Ford", + "model": "Crown Victoria", + "price": "36535.55", + "year": 1995, + "color": "Teal" + }, + { + "id": 909, + "make": "Toyota", + "model": "Yaris", + "price": "83678.09", + "year": 2007, + "color": "Crimson" + }, + { + "id": 910, + "make": "Chevrolet", + "model": "Tahoe", + "price": "46411.14", + "year": 2001, + "color": "Teal" + }, + { + "id": 911, + "make": "Nissan", + "model": "Pathfinder", + "price": "36348.99", + "year": 2005, + "color": "Mauv" + }, + { + "id": 912, + "make": "Mitsubishi", + "model": "Eclipse", + "price": "31367.86", + "year": 2005, + "color": "Puce" + }, + { + "id": 913, + "make": "Pontiac", + "model": "Firebird", + "price": "11689.81", + "year": 2001, + "color": "Orange" + }, + { + "id": 914, + "make": "Ford", + "model": "E350", + "price": "26317.11", + "year": 2009, + "color": "Blue" + }, + { + "id": 915, + "make": "Dodge", + "model": "Ram 3500 Club", + "price": "93069.74", + "year": 1997, + "color": "Blue" + }, + { + "id": 916, + "make": "Land Rover", + "model": "Range Rover", + "price": "19769.04", + "year": 2008, + "color": "Indigo" + }, + { + "id": 917, + "make": "Kia", + "model": "Sportage", + "price": "98778.50", + "year": 2006, + "color": "Pink" + }, + { + "id": 918, + "make": "Buick", + "model": "Rainier", + "price": "25335.14", + "year": 2006, + "color": "Red" + }, + { + "id": 919, + "make": "Audi", + "model": "90", + "price": "11551.31", + "year": 1990, + "color": "Crimson" + }, + { + "id": 920, + "make": "Ferrari", + "model": "612 Scaglietti", + "price": "83843.82", + "year": 2009, + "color": "Red" + }, + { + "id": 921, + "make": "Mercury", + "model": "Cougar", + "price": "42004.14", + "year": 1967, + "color": "Blue" + }, + { + "id": 922, + "make": "Kia", + "model": "Sedona", + "price": "90575.62", + "year": 2006, + "color": "Fuscia" + }, + { + "id": 923, + "make": "GMC", + "model": "Sierra 3500", + "price": "14316.32", + "year": 2010, + "color": "Mauv" + }, + { + "id": 924, + "make": "Mercury", + "model": "Sable", + "price": "16890.22", + "year": 2003, + "color": "Goldenrod" + }, + { + "id": 925, + "make": "Toyota", + "model": "RAV4", + "price": "12168.77", + "year": 2002, + "color": "Puce" + }, + { + "id": 926, + "make": "Smart", + "model": "Fortwo", + "price": "64719.60", + "year": 2008, + "color": "Indigo" + }, + { + "id": 927, + "make": "Mazda", + "model": "Miata MX-5", + "price": "87678.43", + "year": 1999, + "color": "Orange" + }, + { + "id": 928, + "make": "BMW", + "model": "8 Series", + "price": "96907.58", + "year": 1995, + "color": "Mauv" + }, + { + "id": 929, + "make": "Isuzu", + "model": "Oasis", + "price": "98709.39", + "year": 1998, + "color": "Blue" + }, + { + "id": 930, + "make": "Rolls-Royce", + "model": "Phantom", + "price": "54925.77", + "year": 2007, + "color": "Red" + }, + { + "id": 931, + "make": "Lincoln", + "model": "Blackwood", + "price": "44047.48", + "year": 2002, + "color": "Red" + }, + { + "id": 932, + "make": "Volkswagen", + "model": "Scirocco", + "price": "18870.21", + "year": 1985, + "color": "Aquamarine" + }, + { + "id": 933, + "make": "Lotus", + "model": "Elise", + "price": "95170.00", + "year": 2010, + "color": "Crimson" + }, + { + "id": 934, + "make": "BMW", + "model": "7 Series", + "price": "61315.87", + "year": 2006, + "color": "Puce" + }, + { + "id": 935, + "make": "Nissan", + "model": "NV1500", + "price": "83603.48", + "year": 2012, + "color": "Puce" + }, + { + "id": 936, + "make": "Ford", + "model": "E250", + "price": "7882.22", + "year": 2006, + "color": "Goldenrod" + }, + { + "id": 937, + "make": "Ford", + "model": "Explorer", + "price": "10179.97", + "year": 2011, + "color": "Pink" + }, + { + "id": 938, + "make": "Ford", + "model": "Freestar", + "price": "20766.90", + "year": 2003, + "color": "Yellow" + }, + { + "id": 939, + "make": "Chevrolet", + "model": "G-Series 2500", + "price": "41286.07", + "year": 1996, + "color": "Goldenrod" + }, + { + "id": 940, + "make": "Mitsubishi", + "model": "Pajero", + "price": "44670.51", + "year": 2003, + "color": "Puce" + }, + { + "id": 941, + "make": "Ford", + "model": "F-350 Super Duty", + "price": "92845.28", + "year": 2006, + "color": "Purple" + }, + { + "id": 942, + "make": "Nissan", + "model": "Datsun/Nissan Z-car", + "price": "35948.39", + "year": 1990, + "color": "Pink" + }, + { + "id": 943, + "make": "Lincoln", + "model": "Continental", + "price": "35638.19", + "year": 1995, + "color": "Orange" + }, + { + "id": 944, + "make": "Kia", + "model": "Sephia", + "price": "37333.15", + "year": 1995, + "color": "Crimson" + }, + { + "id": 945, + "make": "Hyundai", + "model": "Accent", + "price": "27986.16", + "year": 2002, + "color": "Violet" + }, + { + "id": 946, + "make": "Mercedes-Benz", + "model": "SLK-Class", + "price": "98172.42", + "year": 2003, + "color": "Puce" + }, + { + "id": 947, + "make": "Daewoo", + "model": "Nubira", + "price": "92830.47", + "year": 1999, + "color": "Pink" + }, + { + "id": 948, + "make": "Buick", + "model": "Lucerne", + "price": "79852.81", + "year": 2011, + "color": "Puce" + }, + { + "id": 949, + "make": "Hyundai", + "model": "Accent", + "price": "81264.22", + "year": 2011, + "color": "Fuscia" + }, + { + "id": 950, + "make": "Buick", + "model": "Rendezvous", + "price": "41916.85", + "year": 2007, + "color": "Pink" + }, + { + "id": 951, + "make": "Mercedes-Benz", + "model": "SL-Class", + "price": "76216.23", + "year": 1990, + "color": "Goldenrod" + }, + { + "id": 952, + "make": "Alfa Romeo", + "model": "Spider", + "price": "33403.79", + "year": 1994, + "color": "Green" + }, + { + "id": 953, + "make": "Ford", + "model": "Econoline E350", + "price": "20788.87", + "year": 2001, + "color": "Aquamarine" + }, + { + "id": 954, + "make": "BMW", + "model": "X5 M", + "price": "43318.17", + "year": 2012, + "color": "Puce" + }, + { + "id": 955, + "make": "Volkswagen", + "model": "rio", + "price": "56852.32", + "year": 2001, + "color": "Mauv" + }, + { + "id": 956, + "make": "Maserati", + "model": "Spyder", + "price": "63466.64", + "year": 2004, + "color": "Teal" + }, + { + "id": 957, + "make": "Chevrolet", + "model": "Tahoe", + "price": "79259.54", + "year": 2006, + "color": "Goldenrod" + }, + { + "id": 958, + "make": "Oldsmobile", + "model": "Regency", + "price": "44813.55", + "year": 1998, + "color": "Aquamarine" + }, + { + "id": 959, + "make": "Cadillac", + "model": "DeVille", + "price": "88184.37", + "year": 1998, + "color": "Violet" + }, + { + "id": 960, + "make": "Infiniti", + "model": "Q", + "price": "66975.92", + "year": 1993, + "color": "Purple" + }, + { + "id": 961, + "make": "BMW", + "model": "X3", + "price": "13006.70", + "year": 2005, + "color": "Yellow" + }, + { + "id": 962, + "make": "Porsche", + "model": "911", + "price": "60987.25", + "year": 2011, + "color": "Purple" + }, + { + "id": 963, + "make": "Nissan", + "model": "Versa", + "price": "50911.38", + "year": 2007, + "color": "Turquoise" + }, + { + "id": 964, + "make": "Volvo", + "model": "XC90", + "price": "12247.49", + "year": 2011, + "color": "Crimson" + }, + { + "id": 965, + "make": "Chevrolet", + "model": "Colorado", + "price": "13075.95", + "year": 2007, + "color": "Purple" + }, + { + "id": 966, + "make": "Mercedes-Benz", + "model": "CLK-Class", + "price": "17937.95", + "year": 1998, + "color": "Orange" + }, + { + "id": 967, + "make": "Acura", + "model": "NSX", + "price": "94556.35", + "year": 1992, + "color": "Goldenrod" + }, + { + "id": 968, + "make": "Mitsubishi", + "model": "Eclipse", + "price": "98630.35", + "year": 2005, + "color": "Pink" + }, + { + "id": 969, + "make": "Land Rover", + "model": "Range Rover", + "price": "70585.05", + "year": 2009, + "color": "Violet" + }, + { + "id": 970, + "make": "Mazda", + "model": "323", + "price": "26955.91", + "year": 1994, + "color": "Teal" + }, + { + "id": 971, + "make": "Mitsubishi", + "model": "Montero Sport", + "price": "86961.96", + "year": 2003, + "color": "Pink" + }, + { + "id": 972, + "make": "Rolls-Royce", + "model": "Phantom", + "price": "30804.20", + "year": 2010, + "color": "Violet" + }, + { + "id": 973, + "make": "Plymouth", + "model": "Grand Voyager", + "price": "85536.24", + "year": 2000, + "color": "Aquamarine" + }, + { + "id": 974, + "make": "Hyundai", + "model": "Scoupe", + "price": "54831.40", + "year": 1992, + "color": "Violet" + }, + { + "id": 975, + "make": "Mercury", + "model": "Sable", + "price": "6460.81", + "year": 2002, + "color": "Indigo" + }, + { + "id": 976, + "make": "Land Rover", + "model": "LR2", + "price": "75188.56", + "year": 2010, + "color": "Red" + }, + { + "id": 977, + "make": "Chevrolet", + "model": "Camaro", + "price": "21085.81", + "year": 2002, + "color": "Pink" + }, + { + "id": 978, + "make": "Kia", + "model": "Rio", + "price": "43059.32", + "year": 2006, + "color": "Indigo" + }, + { + "id": 979, + "make": "Dodge", + "model": "Colt", + "price": "20133.75", + "year": 1989, + "color": "Goldenrod" + }, + { + "id": 980, + "make": "Pontiac", + "model": "Firebird", + "price": "27575.80", + "year": 2002, + "color": "Green" + }, + { + "id": 981, + "make": "Lincoln", + "model": "Town Car", + "price": "13755.70", + "year": 1994, + "color": "Aquamarine" + }, + { + "id": 982, + "make": "Nissan", + "model": "Frontier", + "price": "55374.38", + "year": 2005, + "color": "Green" + }, + { + "id": 983, + "make": "Pontiac", + "model": "GTO", + "price": "85907.82", + "year": 1974, + "color": "Red" + }, + { + "id": 984, + "make": "Plymouth", + "model": "Grand Voyager", + "price": "9517.61", + "year": 1999, + "color": "Yellow" + }, + { + "id": 985, + "make": "GMC", + "model": "3500", + "price": "49914.69", + "year": 1992, + "color": "Maroon" + }, + { + "id": 986, + "make": "Subaru", + "model": "Impreza WRX", + "price": "20506.93", + "year": 2011, + "color": "Maroon" + }, + { + "id": 987, + "make": "Ford", + "model": "Econoline E350", + "price": "66270.95", + "year": 2000, + "color": "Khaki" + }, + { + "id": 988, + "make": "Volkswagen", + "model": "Passat", + "price": "88405.64", + "year": 1987, + "color": "Purple" + }, + { + "id": 989, + "make": "Chevrolet", + "model": "Aveo", + "price": "56011.19", + "year": 2006, + "color": "Mauv" + }, + { + "id": 990, + "make": "Mercury", + "model": "Lynx", + "price": "86537.69", + "year": 1987, + "color": "Red" + }, + { + "id": 991, + "make": "Audi", + "model": "S5", + "price": "61422.15", + "year": 2011, + "color": "Indigo" + }, + { + "id": 992, + "make": "Cadillac", + "model": "STS", + "price": "54520.97", + "year": 2011, + "color": "Maroon" + }, + { + "id": 993, + "make": "Audi", + "model": "A6", + "price": "50820.08", + "year": 2012, + "color": "Khaki" + }, + { + "id": 994, + "make": "Audi", + "model": "Q7", + "price": "12315.68", + "year": 2007, + "color": "Turquoise" + }, + { + "id": 995, + "make": "Maserati", + "model": "Quattroporte", + "price": "8715.14", + "year": 2006, + "color": "Purple" + }, + { + "id": 996, + "make": "Ferrari", + "model": "599 GTB Fiorano", + "price": "47623.59", + "year": 2009, + "color": "Turquoise" + }, + { + "id": 997, + "make": "Buick", + "model": "Skylark", + "price": "87749.31", + "year": 1995, + "color": "Violet" + }, + { + "id": 998, + "make": "Honda", + "model": "CR-V", + "price": "99297.81", + "year": 1997, + "color": "Green" + }, + { + "id": 999, + "make": "Toyota", + "model": "Matrix", + "price": "94239.00", + "year": 2008, + "color": "Pink" + }, + { + "id": 1000, + "make": "Chevrolet", + "model": "Silverado", + "price": "63299.65", + "year": 2006, + "color": "Puce" + } +] \ No newline at end of file diff --git a/modern-java/src/test/resources/people.json b/modern-java/src/test/resources/people.json new file mode 100644 index 0000000..9d551a9 --- /dev/null +++ b/modern-java/src/test/resources/people.json @@ -0,0 +1,8002 @@ +[ + { + "id": 1, + "firstName": "Dixie", + "lastName": "O'Finan", + "email": "dofinan0@huffingtonpost.com", + "gender": "Female", + "age": 91 + }, + { + "id": 2, + "firstName": "Harmon", + "lastName": "Marling", + "email": "hmarling1@moonfruit.com", + "gender": "Male", + "age": 38 + }, + { + "id": 3, + "firstName": "Dallas", + "lastName": "Beynon", + "email": "dbeynon2@rambler.ru", + "gender": "Male", + "age": 61 + }, + { + "id": 4, + "firstName": "Carlyle", + "lastName": "Lachaize", + "email": "clachaize3@youtu.be", + "gender": "Male", + "age": 3 + }, + { + "id": 5, + "firstName": "Eula", + "lastName": "Pimm", + "email": "epimm4@google.com.hk", + "gender": "Female", + "age": 54 + }, + { + "id": 6, + "firstName": "Andrus", + "lastName": "Endricci", + "email": "aendricci5@google.ru", + "gender": "Male", + "age": 19 + }, + { + "id": 7, + "firstName": "Charley", + "lastName": "Molyneux", + "email": "cmolyneux6@un.org", + "gender": "Male", + "age": 60 + }, + { + "id": 8, + "firstName": "Vidovic", + "lastName": "Wasling", + "email": "vwasling7@oaic.gov.au", + "gender": "Male", + "age": 38 + }, + { + "id": 9, + "firstName": "Pavia", + "lastName": "De la Harpe", + "email": "pdelaharpe8@yale.edu", + "gender": "Female", + "age": 11 + }, + { + "id": 10, + "firstName": "Jeramie", + "lastName": "Borrell", + "email": "jborrell9@craigslist.org", + "gender": "Male", + "age": 5 + }, + { + "id": 11, + "firstName": "Sorcha", + "lastName": "Plant", + "email": "splanta@friendfeed.com", + "gender": "Female", + "age": 57 + }, + { + "id": 12, + "firstName": "Allister", + "lastName": "Olfert", + "email": "aolfertb@ehow.com", + "gender": "Male", + "age": 68 + }, + { + "id": 13, + "firstName": "Jeane", + "lastName": "Everitt", + "email": "jeverittc@soup.io", + "gender": "Female", + "age": 76 + }, + { + "id": 14, + "firstName": "Towny", + "lastName": "Gisbye", + "email": "tgisbyed@salon.com", + "gender": "Male", + "age": 41 + }, + { + "id": 15, + "firstName": "Wolfie", + "lastName": "Doniso", + "email": "wdonisoe@typepad.com", + "gender": "Male", + "age": 2 + }, + { + "id": 16, + "firstName": "Cassaundra", + "lastName": "McGuiney", + "email": "cmcguineyf@weibo.com", + "gender": "Female", + "age": 70 + }, + { + "id": 17, + "firstName": "Lisha", + "lastName": "Melbourn", + "email": "lmelbourng@guardian.co.uk", + "gender": "Female", + "age": 6 + }, + { + "id": 18, + "firstName": "Zsa zsa", + "lastName": "Shutt", + "email": "zshutth@cloudflare.com", + "gender": "Female", + "age": 89 + }, + { + "id": 19, + "firstName": "Rafferty", + "lastName": "Dumingo", + "email": "rdumingoi@comsenz.com", + "gender": "Male", + "age": 93 + }, + { + "id": 20, + "firstName": "Rollins", + "lastName": "Skellion", + "email": "rskellionj@miibeian.gov.cn", + "gender": "Male", + "age": 3 + }, + { + "id": 21, + "firstName": "Jens", + "lastName": "Mackin", + "email": "jmackink@washington.edu", + "gender": "Male", + "age": 47 + }, + { + "id": 22, + "firstName": "Beverlie", + "lastName": "Martinon", + "email": "bmartinonl@github.io", + "gender": "Female", + "age": 80 + }, + { + "id": 23, + "firstName": "Adrienne", + "lastName": "Townsend", + "email": "atownsendm@fc2.com", + "gender": "Female", + "age": 68 + }, + { + "id": 24, + "firstName": "Goldi", + "lastName": "Padly", + "email": "gpadlyn@vistaprint.com", + "gender": "Female", + "age": 38 + }, + { + "id": 25, + "firstName": "Fabio", + "lastName": "Sinderson", + "email": "fsindersono@livejournal.com", + "gender": "Male", + "age": 72 + }, + { + "id": 26, + "firstName": "Lizzie", + "lastName": "Birtwistle", + "email": "lbirtwistlep@yahoo.co.jp", + "gender": "Female", + "age": 88 + }, + { + "id": 27, + "firstName": "Andeee", + "lastName": "Haibel", + "email": "ahaibelq@tinypic.com", + "gender": "Female", + "age": 17 + }, + { + "id": 28, + "firstName": "Robbi", + "lastName": "Bowdery", + "email": "rbowderyr@princeton.edu", + "gender": "Female", + "age": 37 + }, + { + "id": 29, + "firstName": "Tonye", + "lastName": "Brideau", + "email": "tbrideaus@uol.com.br", + "gender": "Female", + "age": 84 + }, + { + "id": 30, + "firstName": "Milton", + "lastName": "Nunson", + "email": "mnunsont@goo.ne.jp", + "gender": "Male", + "age": 7 + }, + { + "id": 31, + "firstName": "Thomasine", + "lastName": "Heffron", + "email": "theffronu@hugedomains.com", + "gender": "Female", + "age": 20 + }, + { + "id": 32, + "firstName": "Mohandas", + "lastName": "Cullon", + "email": "mcullonv@friendfeed.com", + "gender": "Male", + "age": 15 + }, + { + "id": 33, + "firstName": "Lewie", + "lastName": "Abela", + "email": "labelaw@360.cn", + "gender": "Male", + "age": 39 + }, + { + "id": 34, + "firstName": "Lizzy", + "lastName": "Geleman", + "email": "lgelemanx@indiegogo.com", + "gender": "Female", + "age": 77 + }, + { + "id": 35, + "firstName": "Carlina", + "lastName": "Slowgrave", + "email": "cslowgravey@amazon.com", + "gender": "Female", + "age": 89 + }, + { + "id": 36, + "firstName": "Alfy", + "lastName": "Drugan", + "email": "adruganz@irs.gov", + "gender": "Male", + "age": 12 + }, + { + "id": 37, + "firstName": "Pamela", + "lastName": "Cleiment", + "email": "pcleiment10@networkadvertising.org", + "gender": "Female", + "age": 31 + }, + { + "id": 38, + "firstName": "Pepi", + "lastName": "Hultberg", + "email": "phultberg11@berkeley.edu", + "gender": "Female", + "age": 8 + }, + { + "id": 39, + "firstName": "Brewer", + "lastName": "Mollin", + "email": "bmollin12@home.pl", + "gender": "Male", + "age": 23 + }, + { + "id": 40, + "firstName": "Bertina", + "lastName": "Hamlington", + "email": "bhamlington13@amazon.co.jp", + "gender": "Female", + "age": 77 + }, + { + "id": 41, + "firstName": "Waylen", + "lastName": "Gatsby", + "email": "wgatsby14@usda.gov", + "gender": "Male", + "age": 95 + }, + { + "id": 42, + "firstName": "Kellen", + "lastName": "Tatton", + "email": "ktatton15@cpanel.net", + "gender": "Male", + "age": 37 + }, + { + "id": 43, + "firstName": "Ebony", + "lastName": "Ferby", + "email": "eferby16@opensource.org", + "gender": "Female", + "age": 77 + }, + { + "id": 44, + "firstName": "Reamonn", + "lastName": "How", + "email": "rhow17@nationalgeographic.com", + "gender": "Male", + "age": 47 + }, + { + "id": 45, + "firstName": "Charita", + "lastName": "Gowers", + "email": "cgowers18@php.net", + "gender": "Female", + "age": 89 + }, + { + "id": 46, + "firstName": "Danette", + "lastName": "Riley", + "email": "driley19@reuters.com", + "gender": "Female", + "age": 19 + }, + { + "id": 47, + "firstName": "Jamil", + "lastName": "Mongan", + "email": "jmongan1a@edublogs.org", + "gender": "Male", + "age": 2 + }, + { + "id": 48, + "firstName": "Ruddy", + "lastName": "Bartoshevich", + "email": "rbartoshevich1b@themeforest.net", + "gender": "Male", + "age": 22 + }, + { + "id": 49, + "firstName": "Lin", + "lastName": "Hickisson", + "email": "lhickisson1c@sogou.com", + "gender": "Male", + "age": 1 + }, + { + "id": 50, + "firstName": "Ruthi", + "lastName": "McGillicuddy", + "email": "rmcgillicuddy1d@fda.gov", + "gender": "Female", + "age": 40 + }, + { + "id": 51, + "firstName": "Cacilia", + "lastName": "Hannant", + "email": "channant1e@cam.ac.uk", + "gender": "Female", + "age": 28 + }, + { + "id": 52, + "firstName": "Ryon", + "lastName": "Bloodworthe", + "email": "rbloodworthe1f@hostgator.com", + "gender": "Male", + "age": 5 + }, + { + "id": 53, + "firstName": "Else", + "lastName": "Budget", + "email": "ebudget1g@cbc.ca", + "gender": "Female", + "age": 37 + }, + { + "id": 54, + "firstName": "Elvyn", + "lastName": "Lehrer", + "email": "elehrer1h@unc.edu", + "gender": "Male", + "age": 84 + }, + { + "id": 55, + "firstName": "Gamaliel", + "lastName": "Farncomb", + "email": "gfarncomb1i@huffingtonpost.com", + "gender": "Male", + "age": 4 + }, + { + "id": 56, + "firstName": "Anatollo", + "lastName": "Folini", + "email": "afolini1j@google.it", + "gender": "Male", + "age": 33 + }, + { + "id": 57, + "firstName": "Mayor", + "lastName": "Drinkwater", + "email": "mdrinkwater1k@latimes.com", + "gender": "Male", + "age": 60 + }, + { + "id": 58, + "firstName": "Shaw", + "lastName": "Baldetti", + "email": "sbaldetti1l@ihg.com", + "gender": "Male", + "age": 35 + }, + { + "id": 59, + "firstName": "Chas", + "lastName": "Legon", + "email": "clegon1m@squarespace.com", + "gender": "Male", + "age": 96 + }, + { + "id": 60, + "firstName": "Ervin", + "lastName": "Bruniges", + "email": "ebruniges1n@deviantart.com", + "gender": "Male", + "age": 31 + }, + { + "id": 61, + "firstName": "Bogart", + "lastName": "Scammell", + "email": "bscammell1o@instagram.com", + "gender": "Male", + "age": 72 + }, + { + "id": 62, + "firstName": "Christopher", + "lastName": "Pendreigh", + "email": "cpendreigh1p@goodreads.com", + "gender": "Male", + "age": 48 + }, + { + "id": 63, + "firstName": "Nev", + "lastName": "Idenden", + "email": "nidenden1q@who.int", + "gender": "Male", + "age": 68 + }, + { + "id": 64, + "firstName": "Reinhold", + "lastName": "Piercey", + "email": "rpiercey1r@omniture.com", + "gender": "Male", + "age": 48 + }, + { + "id": 65, + "firstName": "Harland", + "lastName": "Minchell", + "email": "hminchell1s@mozilla.org", + "gender": "Male", + "age": 35 + }, + { + "id": 66, + "firstName": "Ceciley", + "lastName": "Ringwood", + "email": "cringwood1t@usda.gov", + "gender": "Female", + "age": 47 + }, + { + "id": 67, + "firstName": "Matthaeus", + "lastName": "Wynes", + "email": "mwynes1u@oakley.com", + "gender": "Male", + "age": 3 + }, + { + "id": 68, + "firstName": "Llywellyn", + "lastName": "Huot", + "email": "lhuot1v@usnews.com", + "gender": "Male", + "age": 3 + }, + { + "id": 69, + "firstName": "Mag", + "lastName": "Ossenna", + "email": "mossenna1w@i2i.jp", + "gender": "Female", + "age": 50 + }, + { + "id": 70, + "firstName": "Ortensia", + "lastName": "Whitty", + "email": "owhitty1x@omniture.com", + "gender": "Female", + "age": 17 + }, + { + "id": 71, + "firstName": "Julia", + "lastName": "Petrovykh", + "email": "jpetrovykh1y@boston.com", + "gender": "Female", + "age": 86 + }, + { + "id": 72, + "firstName": "Agosto", + "lastName": "Bayston", + "email": "abayston1z@bbb.org", + "gender": "Male", + "age": 99 + }, + { + "id": 73, + "firstName": "Odessa", + "lastName": "Parrington", + "email": "oparrington20@buzzfeed.com", + "gender": "Female", + "age": 24 + }, + { + "id": 74, + "firstName": "Devlin", + "lastName": "Soar", + "email": "dsoar21@marriott.com", + "gender": "Male", + "age": 38 + }, + { + "id": 75, + "firstName": "Noelani", + "lastName": "Southby", + "email": "nsouthby22@theguardian.com", + "gender": "Female", + "age": 52 + }, + { + "id": 76, + "firstName": "Jessee", + "lastName": "Drinkel", + "email": "jdrinkel23@chronoengine.com", + "gender": "Male", + "age": 43 + }, + { + "id": 77, + "firstName": "Catlin", + "lastName": "Baythorp", + "email": "cbaythorp24@harvard.edu", + "gender": "Female", + "age": 33 + }, + { + "id": 78, + "firstName": "Willie", + "lastName": "Easthope", + "email": "weasthope25@home.pl", + "gender": "Female", + "age": 57 + }, + { + "id": 79, + "firstName": "Kittie", + "lastName": "Blaxter", + "email": "kblaxter26@adobe.com", + "gender": "Female", + "age": 25 + }, + { + "id": 80, + "firstName": "Duke", + "lastName": "Wrack", + "email": "dwrack27@prweb.com", + "gender": "Male", + "age": 89 + }, + { + "id": 81, + "firstName": "Roxi", + "lastName": "Iggo", + "email": "riggo28@irs.gov", + "gender": "Female", + "age": 34 + }, + { + "id": 82, + "firstName": "Templeton", + "lastName": "Grigoli", + "email": "tgrigoli29@sphinn.com", + "gender": "Male", + "age": 60 + }, + { + "id": 83, + "firstName": "Ema", + "lastName": "Davion", + "email": "edavion2a@google.cn", + "gender": "Female", + "age": 84 + }, + { + "id": 84, + "firstName": "Bellina", + "lastName": "Dearle", + "email": "bdearle2b@theglobeandmail.com", + "gender": "Female", + "age": 20 + }, + { + "id": 85, + "firstName": "Joycelin", + "lastName": "Wallington", + "email": "jwallington2c@irs.gov", + "gender": "Female", + "age": 7 + }, + { + "id": 86, + "firstName": "Dorice", + "lastName": "Rosen", + "email": "drosen2d@scientificamerican.com", + "gender": "Female", + "age": 59 + }, + { + "id": 87, + "firstName": "Cesaro", + "lastName": "Luckes", + "email": "cluckes2e@statcounter.com", + "gender": "Male", + "age": 37 + }, + { + "id": 88, + "firstName": "Giana", + "lastName": "Bidmead", + "email": "gbidmead2f@tmall.com", + "gender": "Female", + "age": 71 + }, + { + "id": 89, + "firstName": "Alon", + "lastName": "Lappine", + "email": "alappine2g@shop-pro.jp", + "gender": "Male", + "age": 30 + }, + { + "id": 90, + "firstName": "Greer", + "lastName": "Hacking", + "email": "ghacking2h@sciencedirect.com", + "gender": "Female", + "age": 78 + }, + { + "id": 91, + "firstName": "Cyril", + "lastName": "Tranckle", + "email": "ctranckle2i@narod.ru", + "gender": "Male", + "age": 87 + }, + { + "id": 92, + "firstName": "Shandeigh", + "lastName": "Coveny", + "email": "scoveny2j@seesaa.net", + "gender": "Female", + "age": 33 + }, + { + "id": 93, + "firstName": "Erin", + "lastName": "Scoffham", + "email": "escoffham2k@ycombinator.com", + "gender": "Male", + "age": 56 + }, + { + "id": 94, + "firstName": "Irina", + "lastName": "Kirkham", + "email": "ikirkham2l@jigsy.com", + "gender": "Female", + "age": 8 + }, + { + "id": 95, + "firstName": "Pinchas", + "lastName": "Tenwick", + "email": "ptenwick2m@sciencedaily.com", + "gender": "Male", + "age": 33 + }, + { + "id": 96, + "firstName": "Tamarah", + "lastName": "Terry", + "email": "tterry2n@about.me", + "gender": "Female", + "age": 32 + }, + { + "id": 97, + "firstName": "Cesar", + "lastName": "Kennedy", + "email": "ckennedy2o@ibm.com", + "gender": "Male", + "age": 69 + }, + { + "id": 98, + "firstName": "Timoteo", + "lastName": "Sauvain", + "email": "tsauvain2p@unc.edu", + "gender": "Male", + "age": 50 + }, + { + "id": 99, + "firstName": "Hall", + "lastName": "Storcke", + "email": "hstorcke2q@issuu.com", + "gender": "Male", + "age": 75 + }, + { + "id": 100, + "firstName": "Curtice", + "lastName": "Milam", + "email": "cmilam2r@economist.com", + "gender": "Male", + "age": 81 + }, + { + "id": 101, + "firstName": "Hestia", + "lastName": "Raigatt", + "email": "hraigatt2s@hud.gov", + "gender": "Female", + "age": 18 + }, + { + "id": 102, + "firstName": "Isis", + "lastName": "Dallicott", + "email": "idallicott2t@fda.gov", + "gender": "Female", + "age": 83 + }, + { + "id": 103, + "firstName": "Fleurette", + "lastName": "Dallender", + "email": "fdallender2u@gmpg.org", + "gender": "Female", + "age": 84 + }, + { + "id": 104, + "firstName": "Allister", + "lastName": "Riccard", + "email": "ariccard2v@hud.gov", + "gender": "Male", + "age": 65 + }, + { + "id": 105, + "firstName": "Eberhard", + "lastName": "Bacher", + "email": "ebacher2w@marketwatch.com", + "gender": "Male", + "age": 96 + }, + { + "id": 106, + "firstName": "Cristal", + "lastName": "Olerenshaw", + "email": "colerenshaw2x@nationalgeographic.com", + "gender": "Female", + "age": 68 + }, + { + "id": 107, + "firstName": "Martelle", + "lastName": "Siddeley", + "email": "msiddeley2y@merriam-webster.com", + "gender": "Female", + "age": 97 + }, + { + "id": 108, + "firstName": "Salem", + "lastName": "Parslow", + "email": "sparslow2z@princeton.edu", + "gender": "Male", + "age": 4 + }, + { + "id": 109, + "firstName": "Sydel", + "lastName": "Bugbee", + "email": "sbugbee30@spotify.com", + "gender": "Female", + "age": 94 + }, + { + "id": 110, + "firstName": "Florella", + "lastName": "O'Nolan", + "email": "fonolan31@cnbc.com", + "gender": "Female", + "age": 78 + }, + { + "id": 111, + "firstName": "Eileen", + "lastName": "Blaise", + "email": "eblaise32@tmall.com", + "gender": "Female", + "age": 1 + }, + { + "id": 112, + "firstName": "Ulysses", + "lastName": "Huikerby", + "email": "uhuikerby33@wordpress.com", + "gender": "Male", + "age": 4 + }, + { + "id": 113, + "firstName": "Jedediah", + "lastName": "Felkin", + "email": "jfelkin34@nytimes.com", + "gender": "Male", + "age": 98 + }, + { + "id": 114, + "firstName": "Jenifer", + "lastName": "McMorland", + "email": "jmcmorland35@scribd.com", + "gender": "Female", + "age": 3 + }, + { + "id": 115, + "firstName": "Solomon", + "lastName": "Blagburn", + "email": "sblagburn36@cloudflare.com", + "gender": "Male", + "age": 2 + }, + { + "id": 116, + "firstName": "Ilene", + "lastName": "Avon", + "email": "iavon37@reverbnation.com", + "gender": "Female", + "age": 36 + }, + { + "id": 117, + "firstName": "Odetta", + "lastName": "Lofthouse", + "email": "olofthouse38@list-manage.com", + "gender": "Female", + "age": 95 + }, + { + "id": 118, + "firstName": "Rik", + "lastName": "Severwright", + "email": "rseverwright39@theatlantic.com", + "gender": "Male", + "age": 26 + }, + { + "id": 119, + "firstName": "Ardelis", + "lastName": "Urch", + "email": "aurch3a@usa.gov", + "gender": "Female", + "age": 71 + }, + { + "id": 120, + "firstName": "Reinaldo", + "lastName": "Borg", + "email": "rborg3b@ebay.co.uk", + "gender": "Male", + "age": 19 + }, + { + "id": 121, + "firstName": "Pepito", + "lastName": "Stoving", + "email": "pstoving3c@abc.net.au", + "gender": "Male", + "age": 100 + }, + { + "id": 122, + "firstName": "Chauncey", + "lastName": "Lawrence", + "email": "clawrence3d@scientificamerican.com", + "gender": "Male", + "age": 62 + }, + { + "id": 123, + "firstName": "Trev", + "lastName": "Reinert", + "email": "treinert3e@google.co.jp", + "gender": "Male", + "age": 21 + }, + { + "id": 124, + "firstName": "Boyce", + "lastName": "Creeghan", + "email": "bcreeghan3f@washington.edu", + "gender": "Male", + "age": 82 + }, + { + "id": 125, + "firstName": "Joya", + "lastName": "Spellsworth", + "email": "jspellsworth3g@creativecommons.org", + "gender": "Female", + "age": 94 + }, + { + "id": 126, + "firstName": "Derick", + "lastName": "Reddell", + "email": "dreddell3h@google.de", + "gender": "Male", + "age": 36 + }, + { + "id": 127, + "firstName": "Lynnett", + "lastName": "Cokely", + "email": "lcokely3i@jimdo.com", + "gender": "Female", + "age": 51 + }, + { + "id": 128, + "firstName": "Bay", + "lastName": "Vakhrushev", + "email": "bvakhrushev3j@unesco.org", + "gender": "Male", + "age": 25 + }, + { + "id": 129, + "firstName": "Abbot", + "lastName": "Thorsen", + "email": "athorsen3k@bandcamp.com", + "gender": "Male", + "age": 74 + }, + { + "id": 130, + "firstName": "Blondie", + "lastName": "Messitt", + "email": "bmessitt3l@webnode.com", + "gender": "Female", + "age": 75 + }, + { + "id": 131, + "firstName": "Meier", + "lastName": "De Giorgio", + "email": "mdegiorgio3m@bloomberg.com", + "gender": "Male", + "age": 11 + }, + { + "id": 132, + "firstName": "Creigh", + "lastName": "Chard", + "email": "cchard3n@vinaora.com", + "gender": "Male", + "age": 48 + }, + { + "id": 133, + "firstName": "Xerxes", + "lastName": "Heindrich", + "email": "xheindrich3o@de.vu", + "gender": "Male", + "age": 33 + }, + { + "id": 134, + "firstName": "Manfred", + "lastName": "Knutsen", + "email": "mknutsen3p@pinterest.com", + "gender": "Male", + "age": 78 + }, + { + "id": 135, + "firstName": "Wilfred", + "lastName": "Quick", + "email": "wquick3q@acquirethisname.com", + "gender": "Male", + "age": 98 + }, + { + "id": 136, + "firstName": "Kettie", + "lastName": "Mannooch", + "email": "kmannooch3r@sakura.ne.jp", + "gender": "Female", + "age": 83 + }, + { + "id": 137, + "firstName": "Carlos", + "lastName": "Jesse", + "email": "cjesse3s@constantcontact.com", + "gender": "Male", + "age": 93 + }, + { + "id": 138, + "firstName": "Griffie", + "lastName": "Halligan", + "email": "ghalligan3t@samsung.com", + "gender": "Male", + "age": 20 + }, + { + "id": 139, + "firstName": "Selina", + "lastName": "Packham", + "email": "spackham3u@cbslocal.com", + "gender": "Female", + "age": 67 + }, + { + "id": 140, + "firstName": "Harley", + "lastName": "Rodman", + "email": "hrodman3v@fastcompany.com", + "gender": "Male", + "age": 98 + }, + { + "id": 141, + "firstName": "Edd", + "lastName": "Frier", + "email": "efrier3w@spiegel.de", + "gender": "Male", + "age": 20 + }, + { + "id": 142, + "firstName": "Rhianon", + "lastName": "Weekly", + "email": "rweekly3x@indiegogo.com", + "gender": "Female", + "age": 17 + }, + { + "id": 143, + "firstName": "Donovan", + "lastName": "Dalwood", + "email": "ddalwood3y@engadget.com", + "gender": "Male", + "age": 68 + }, + { + "id": 144, + "firstName": "Kennie", + "lastName": "Breagan", + "email": "kbreagan3z@usa.gov", + "gender": "Male", + "age": 83 + }, + { + "id": 145, + "firstName": "Marlene", + "lastName": "Peealess", + "email": "mpeealess40@epa.gov", + "gender": "Female", + "age": 77 + }, + { + "id": 146, + "firstName": "Chen", + "lastName": "Restieaux", + "email": "crestieaux41@nifty.com", + "gender": "Male", + "age": 11 + }, + { + "id": 147, + "firstName": "Wiatt", + "lastName": "Pollicatt", + "email": "wpollicatt42@wikimedia.org", + "gender": "Male", + "age": 76 + }, + { + "id": 148, + "firstName": "Laverne", + "lastName": "Harrowell", + "email": "lharrowell43@sakura.ne.jp", + "gender": "Female", + "age": 91 + }, + { + "id": 149, + "firstName": "Alick", + "lastName": "Stuck", + "email": "astuck44@salon.com", + "gender": "Male", + "age": 33 + }, + { + "id": 150, + "firstName": "Zsa zsa", + "lastName": "Gloves", + "email": "zgloves45@indiegogo.com", + "gender": "Female", + "age": 82 + }, + { + "id": 151, + "firstName": "Camile", + "lastName": "Ruggs", + "email": "cruggs46@hubpages.com", + "gender": "Female", + "age": 57 + }, + { + "id": 152, + "firstName": "Elisabet", + "lastName": "Pietroni", + "email": "epietroni47@cargocollective.com", + "gender": "Female", + "age": 99 + }, + { + "id": 153, + "firstName": "Sherwynd", + "lastName": "Macbane", + "email": "smacbane48@washington.edu", + "gender": "Male", + "age": 69 + }, + { + "id": 154, + "firstName": "Hilly", + "lastName": "Demoge", + "email": "hdemoge49@jimdo.com", + "gender": "Male", + "age": 82 + }, + { + "id": 155, + "firstName": "Mara", + "lastName": "Springtorp", + "email": "mspringtorp4a@meetup.com", + "gender": "Female", + "age": 28 + }, + { + "id": 156, + "firstName": "Josephina", + "lastName": "Grombridge", + "email": "jgrombridge4b@parallels.com", + "gender": "Female", + "age": 4 + }, + { + "id": 157, + "firstName": "Thekla", + "lastName": "Haysman", + "email": "thaysman4c@freewebs.com", + "gender": "Female", + "age": 87 + }, + { + "id": 158, + "firstName": "Eliot", + "lastName": "Heliet", + "email": "eheliet4d@discuz.net", + "gender": "Male", + "age": 9 + }, + { + "id": 159, + "firstName": "Lurlene", + "lastName": "Spurryer", + "email": "lspurryer4e@berkeley.edu", + "gender": "Female", + "age": 86 + }, + { + "id": 160, + "firstName": "Kelly", + "lastName": "Menure", + "email": "kmenure4f@opensource.org", + "gender": "Male", + "age": 93 + }, + { + "id": 161, + "firstName": "Lou", + "lastName": "Boyson", + "email": "lboyson4g@slate.com", + "gender": "Female", + "age": 95 + }, + { + "id": 162, + "firstName": "Devonne", + "lastName": "Androck", + "email": "dandrock4h@google.ca", + "gender": "Female", + "age": 52 + }, + { + "id": 163, + "firstName": "Rinaldo", + "lastName": "Forbes", + "email": "rforbes4i@cisco.com", + "gender": "Male", + "age": 2 + }, + { + "id": 164, + "firstName": "Owen", + "lastName": "Jonk", + "email": "ojonk4j@free.fr", + "gender": "Male", + "age": 50 + }, + { + "id": 165, + "firstName": "Dehlia", + "lastName": "Paddie", + "email": "dpaddie4k@alexa.com", + "gender": "Female", + "age": 95 + }, + { + "id": 166, + "firstName": "Darbee", + "lastName": "Doctor", + "email": "ddoctor4l@wikia.com", + "gender": "Male", + "age": 66 + }, + { + "id": 167, + "firstName": "Roxi", + "lastName": "Gerger", + "email": "rgerger4m@whitehouse.gov", + "gender": "Female", + "age": 35 + }, + { + "id": 168, + "firstName": "Cherri", + "lastName": "Mathonnet", + "email": "cmathonnet4n@barnesandnoble.com", + "gender": "Female", + "age": 42 + }, + { + "id": 169, + "firstName": "Ali", + "lastName": "Vowden", + "email": "avowden4o@linkedin.com", + "gender": "Male", + "age": 45 + }, + { + "id": 170, + "firstName": "Shurwood", + "lastName": "Anthona", + "email": "santhona4p@amazonaws.com", + "gender": "Male", + "age": 75 + }, + { + "id": 171, + "firstName": "Odetta", + "lastName": "Tice", + "email": "otice4q@statcounter.com", + "gender": "Female", + "age": 53 + }, + { + "id": 172, + "firstName": "Florrie", + "lastName": "Critcher", + "email": "fcritcher4r@wisc.edu", + "gender": "Female", + "age": 96 + }, + { + "id": 173, + "firstName": "Alvie", + "lastName": "Josling", + "email": "ajosling4s@sphinn.com", + "gender": "Male", + "age": 96 + }, + { + "id": 174, + "firstName": "Arturo", + "lastName": "Grieg", + "email": "agrieg4t@aol.com", + "gender": "Male", + "age": 36 + }, + { + "id": 175, + "firstName": "Monah", + "lastName": "Scholey", + "email": "mscholey4u@ibm.com", + "gender": "Female", + "age": 12 + }, + { + "id": 176, + "firstName": "Claudie", + "lastName": "Glaum", + "email": "cglaum4v@csmonitor.com", + "gender": "Female", + "age": 72 + }, + { + "id": 177, + "firstName": "Hogan", + "lastName": "Twine", + "email": "htwine4w@printfriendly.com", + "gender": "Male", + "age": 30 + }, + { + "id": 178, + "firstName": "Malachi", + "lastName": "Bizley", + "email": "mbizley4x@census.gov", + "gender": "Male", + "age": 53 + }, + { + "id": 179, + "firstName": "Obediah", + "lastName": "Housbie", + "email": "ohousbie4y@slideshare.net", + "gender": "Male", + "age": 34 + }, + { + "id": 180, + "firstName": "Garreth", + "lastName": "Gherardelli", + "email": "ggherardelli4z@mtv.com", + "gender": "Male", + "age": 1 + }, + { + "id": 181, + "firstName": "Pincus", + "lastName": "Vauls", + "email": "pvauls50@whitehouse.gov", + "gender": "Male", + "age": 53 + }, + { + "id": 182, + "firstName": "Knox", + "lastName": "Siddon", + "email": "ksiddon51@godaddy.com", + "gender": "Male", + "age": 55 + }, + { + "id": 183, + "firstName": "Gwendolin", + "lastName": "Cruft", + "email": "gcruft52@shop-pro.jp", + "gender": "Female", + "age": 94 + }, + { + "id": 184, + "firstName": "Sabrina", + "lastName": "Edwin", + "email": "sedwin53@theguardian.com", + "gender": "Female", + "age": 31 + }, + { + "id": 185, + "firstName": "Whitaker", + "lastName": "MacDougal", + "email": "wmacdougal54@japanpost.jp", + "gender": "Male", + "age": 16 + }, + { + "id": 186, + "firstName": "Cornall", + "lastName": "Eborn", + "email": "ceborn55@mail.ru", + "gender": "Male", + "age": 72 + }, + { + "id": 187, + "firstName": "Sada", + "lastName": "D'Antoni", + "email": "sdantoni56@loc.gov", + "gender": "Female", + "age": 33 + }, + { + "id": 188, + "firstName": "Marin", + "lastName": "McGiveen", + "email": "mmcgiveen57@fc2.com", + "gender": "Female", + "age": 85 + }, + { + "id": 189, + "firstName": "Bryan", + "lastName": "Dalgety", + "email": "bdalgety58@google.ru", + "gender": "Male", + "age": 73 + }, + { + "id": 190, + "firstName": "Manda", + "lastName": "Woollaston", + "email": "mwoollaston59@flickr.com", + "gender": "Female", + "age": 79 + }, + { + "id": 191, + "firstName": "Glen", + "lastName": "Hammer", + "email": "ghammer5a@discovery.com", + "gender": "Female", + "age": 94 + }, + { + "id": 192, + "firstName": "Bartel", + "lastName": "Valentin", + "email": "bvalentin5b@yellowbook.com", + "gender": "Male", + "age": 7 + }, + { + "id": 193, + "firstName": "Roman", + "lastName": "Mardy", + "email": "rmardy5c@live.com", + "gender": "Male", + "age": 86 + }, + { + "id": 194, + "firstName": "Jonie", + "lastName": "Morpeth", + "email": "jmorpeth5d@youtu.be", + "gender": "Female", + "age": 62 + }, + { + "id": 195, + "firstName": "Ellene", + "lastName": "Leeuwerink", + "email": "eleeuwerink5e@dyndns.org", + "gender": "Female", + "age": 47 + }, + { + "id": 196, + "firstName": "Nessy", + "lastName": "Ruegg", + "email": "nruegg5f@chicagotribune.com", + "gender": "Female", + "age": 42 + }, + { + "id": 197, + "firstName": "Tandie", + "lastName": "Pengelley", + "email": "tpengelley5g@vinaora.com", + "gender": "Female", + "age": 85 + }, + { + "id": 198, + "firstName": "Sid", + "lastName": "MacDonough", + "email": "smacdonough5h@ftc.gov", + "gender": "Male", + "age": 25 + }, + { + "id": 199, + "firstName": "Earle", + "lastName": "Kealey", + "email": "ekealey5i@indiatimes.com", + "gender": "Male", + "age": 5 + }, + { + "id": 200, + "firstName": "Lib", + "lastName": "Daintrey", + "email": "ldaintrey5j@moonfruit.com", + "gender": "Female", + "age": 23 + }, + { + "id": 201, + "firstName": "Lisabeth", + "lastName": "Benion", + "email": "lbenion5k@dot.gov", + "gender": "Female", + "age": 12 + }, + { + "id": 202, + "firstName": "Adrian", + "lastName": "Manley", + "email": "amanley5l@typepad.com", + "gender": "Male", + "age": 79 + }, + { + "id": 203, + "firstName": "Gaylor", + "lastName": "Rive", + "email": "grive5m@arstechnica.com", + "gender": "Male", + "age": 21 + }, + { + "id": 204, + "firstName": "Pandora", + "lastName": "Trengrove", + "email": "ptrengrove5n@mashable.com", + "gender": "Female", + "age": 61 + }, + { + "id": 205, + "firstName": "Veronique", + "lastName": "Sancias", + "email": "vsancias5o@senate.gov", + "gender": "Female", + "age": 52 + }, + { + "id": 206, + "firstName": "Carey", + "lastName": "Feighney", + "email": "cfeighney5p@berkeley.edu", + "gender": "Male", + "age": 99 + }, + { + "id": 207, + "firstName": "Desdemona", + "lastName": "Raulston", + "email": "draulston5q@behance.net", + "gender": "Female", + "age": 3 + }, + { + "id": 208, + "firstName": "Jakob", + "lastName": "Castelli", + "email": "jcastelli5r@mit.edu", + "gender": "Male", + "age": 15 + }, + { + "id": 209, + "firstName": "Howey", + "lastName": "Wybrow", + "email": "hwybrow5s@homestead.com", + "gender": "Male", + "age": 96 + }, + { + "id": 210, + "firstName": "Ari", + "lastName": "Ellicombe", + "email": "aellicombe5t@unc.edu", + "gender": "Male", + "age": 9 + }, + { + "id": 211, + "firstName": "Magdalena", + "lastName": "Ickovitz", + "email": "mickovitz5u@sun.com", + "gender": "Female", + "age": 87 + }, + { + "id": 212, + "firstName": "Kipp", + "lastName": "D'Emanuele", + "email": "kdemanuele5v@unc.edu", + "gender": "Male", + "age": 94 + }, + { + "id": 213, + "firstName": "Dewain", + "lastName": "Cauthra", + "email": "dcauthra5w@macromedia.com", + "gender": "Male", + "age": 14 + }, + { + "id": 214, + "firstName": "Debee", + "lastName": "Fandrey", + "email": "dfandrey5x@angelfire.com", + "gender": "Female", + "age": 37 + }, + { + "id": 215, + "firstName": "Sasha", + "lastName": "Peggs", + "email": "speggs5y@themeforest.net", + "gender": "Female", + "age": 49 + }, + { + "id": 216, + "firstName": "Jarrod", + "lastName": "Sidlow", + "email": "jsidlow5z@hp.com", + "gender": "Male", + "age": 72 + }, + { + "id": 217, + "firstName": "Bondon", + "lastName": "Boteman", + "email": "bboteman60@pbs.org", + "gender": "Male", + "age": 92 + }, + { + "id": 218, + "firstName": "Moyra", + "lastName": "Vogl", + "email": "mvogl61@smh.com.au", + "gender": "Female", + "age": 30 + }, + { + "id": 219, + "firstName": "Myron", + "lastName": "Macbeth", + "email": "mmacbeth62@simplemachines.org", + "gender": "Male", + "age": 49 + }, + { + "id": 220, + "firstName": "Florrie", + "lastName": "Shevell", + "email": "fshevell63@cmu.edu", + "gender": "Female", + "age": 11 + }, + { + "id": 221, + "firstName": "Sascha", + "lastName": "Cardenoza", + "email": "scardenoza64@studiopress.com", + "gender": "Male", + "age": 52 + }, + { + "id": 222, + "firstName": "Kippar", + "lastName": "Stickles", + "email": "kstickles65@quantcast.com", + "gender": "Male", + "age": 72 + }, + { + "id": 223, + "firstName": "Sandra", + "lastName": "Muddle", + "email": "smuddle66@whitehouse.gov", + "gender": "Female", + "age": 22 + }, + { + "id": 224, + "firstName": "Gracia", + "lastName": "Bertomeu", + "email": "gbertomeu67@simplemachines.org", + "gender": "Female", + "age": 13 + }, + { + "id": 225, + "firstName": "Sidnee", + "lastName": "Marriott", + "email": "smarriott68@bloglines.com", + "gender": "Male", + "age": 43 + }, + { + "id": 226, + "firstName": "Millie", + "lastName": "Mulligan", + "email": "mmulligan69@etsy.com", + "gender": "Female", + "age": 51 + }, + { + "id": 227, + "firstName": "Melvyn", + "lastName": "Wailes", + "email": "mwailes6a@netscape.com", + "gender": "Male", + "age": 67 + }, + { + "id": 228, + "firstName": "Ikey", + "lastName": "Hamlen", + "email": "ihamlen6b@nsw.gov.au", + "gender": "Male", + "age": 98 + }, + { + "id": 229, + "firstName": "Vyky", + "lastName": "Pape", + "email": "vpape6c@vkontakte.ru", + "gender": "Female", + "age": 42 + }, + { + "id": 230, + "firstName": "Benetta", + "lastName": "Moller", + "email": "bmoller6d@hud.gov", + "gender": "Female", + "age": 9 + }, + { + "id": 231, + "firstName": "Lyman", + "lastName": "Issacof", + "email": "lissacof6e@altervista.org", + "gender": "Male", + "age": 17 + }, + { + "id": 232, + "firstName": "Wildon", + "lastName": "Madigan", + "email": "wmadigan6f@webnode.com", + "gender": "Male", + "age": 3 + }, + { + "id": 233, + "firstName": "Theodosia", + "lastName": "Moggie", + "email": "tmoggie6g@walmart.com", + "gender": "Female", + "age": 24 + }, + { + "id": 234, + "firstName": "Mella", + "lastName": "Stute", + "email": "mstute6h@wired.com", + "gender": "Female", + "age": 93 + }, + { + "id": 235, + "firstName": "Rheta", + "lastName": "Elcocks", + "email": "relcocks6i@wikimedia.org", + "gender": "Female", + "age": 12 + }, + { + "id": 236, + "firstName": "Bab", + "lastName": "Soeiro", + "email": "bsoeiro6j@msn.com", + "gender": "Female", + "age": 17 + }, + { + "id": 237, + "firstName": "Joshua", + "lastName": "Cholerton", + "email": "jcholerton6k@google.com.hk", + "gender": "Male", + "age": 16 + }, + { + "id": 238, + "firstName": "Woodie", + "lastName": "Spillett", + "email": "wspillett6l@businesswire.com", + "gender": "Male", + "age": 41 + }, + { + "id": 239, + "firstName": "Emmit", + "lastName": "Symson", + "email": "esymson6m@hud.gov", + "gender": "Male", + "age": 94 + }, + { + "id": 240, + "firstName": "Shelli", + "lastName": "McCrann", + "email": "smccrann6n@amazon.com", + "gender": "Female", + "age": 70 + }, + { + "id": 241, + "firstName": "Marja", + "lastName": "Takis", + "email": "mtakis6o@dedecms.com", + "gender": "Female", + "age": 46 + }, + { + "id": 242, + "firstName": "Glendon", + "lastName": "Shillum", + "email": "gshillum6p@yahoo.com", + "gender": "Male", + "age": 76 + }, + { + "id": 243, + "firstName": "Sloan", + "lastName": "Rumney", + "email": "srumney6q@discovery.com", + "gender": "Male", + "age": 53 + }, + { + "id": 244, + "firstName": "Flor", + "lastName": "Harpham", + "email": "fharpham6r@timesonline.co.uk", + "gender": "Female", + "age": 11 + }, + { + "id": 245, + "firstName": "Agneta", + "lastName": "Florence", + "email": "aflorence6s@nature.com", + "gender": "Female", + "age": 10 + }, + { + "id": 246, + "firstName": "Fianna", + "lastName": "Done", + "email": "fdone6t@uol.com.br", + "gender": "Female", + "age": 97 + }, + { + "id": 247, + "firstName": "Joycelin", + "lastName": "Isoldi", + "email": "jisoldi6u@boston.com", + "gender": "Female", + "age": 100 + }, + { + "id": 248, + "firstName": "Haroun", + "lastName": "Ryce", + "email": "hryce6v@wikipedia.org", + "gender": "Male", + "age": 88 + }, + { + "id": 249, + "firstName": "Bobina", + "lastName": "McGebenay", + "email": "bmcgebenay6w@prweb.com", + "gender": "Female", + "age": 16 + }, + { + "id": 250, + "firstName": "Jerry", + "lastName": "Ranson", + "email": "jranson6x@gmpg.org", + "gender": "Female", + "age": 28 + }, + { + "id": 251, + "firstName": "Ruttger", + "lastName": "Jedrzaszkiewicz", + "email": "rjedrzaszkiewicz6y@blogspot.com", + "gender": "Male", + "age": 84 + }, + { + "id": 252, + "firstName": "Rea", + "lastName": "Jervois", + "email": "rjervois6z@weather.com", + "gender": "Female", + "age": 21 + }, + { + "id": 253, + "firstName": "Valentine", + "lastName": "Bowery", + "email": "vbowery70@sphinn.com", + "gender": "Male", + "age": 91 + }, + { + "id": 254, + "firstName": "Tristam", + "lastName": "Galia", + "email": "tgalia71@msu.edu", + "gender": "Male", + "age": 31 + }, + { + "id": 255, + "firstName": "Waverley", + "lastName": "Anthony", + "email": "wanthony72@toplist.cz", + "gender": "Male", + "age": 64 + }, + { + "id": 256, + "firstName": "Thibaud", + "lastName": "Scolding", + "email": "tscolding73@gizmodo.com", + "gender": "Male", + "age": 70 + }, + { + "id": 257, + "firstName": "Dinny", + "lastName": "Cirlos", + "email": "dcirlos74@sitemeter.com", + "gender": "Female", + "age": 96 + }, + { + "id": 258, + "firstName": "Emmanuel", + "lastName": "Ingraham", + "email": "eingraham75@domainmarket.com", + "gender": "Male", + "age": 64 + }, + { + "id": 259, + "firstName": "Chad", + "lastName": "Horburgh", + "email": "chorburgh76@businessinsider.com", + "gender": "Male", + "age": 54 + }, + { + "id": 260, + "firstName": "Prinz", + "lastName": "Cheavin", + "email": "pcheavin77@shutterfly.com", + "gender": "Male", + "age": 47 + }, + { + "id": 261, + "firstName": "Ula", + "lastName": "Redholes", + "email": "uredholes78@nps.gov", + "gender": "Female", + "age": 83 + }, + { + "id": 262, + "firstName": "Leslie", + "lastName": "Hayth", + "email": "lhayth79@webs.com", + "gender": "Male", + "age": 1 + }, + { + "id": 263, + "firstName": "Darius", + "lastName": "Mc Curlye", + "email": "dmccurlye7a@omniture.com", + "gender": "Male", + "age": 100 + }, + { + "id": 264, + "firstName": "Kippie", + "lastName": "Ormston", + "email": "kormston7b@wsj.com", + "gender": "Male", + "age": 73 + }, + { + "id": 265, + "firstName": "Wilona", + "lastName": "Kenton", + "email": "wkenton7c@hibu.com", + "gender": "Female", + "age": 11 + }, + { + "id": 266, + "firstName": "Blayne", + "lastName": "Gallaway", + "email": "bgallaway7d@time.com", + "gender": "Male", + "age": 16 + }, + { + "id": 267, + "firstName": "Denis", + "lastName": "Warman", + "email": "dwarman7e@nsw.gov.au", + "gender": "Male", + "age": 70 + }, + { + "id": 268, + "firstName": "Sherline", + "lastName": "Eassom", + "email": "seassom7f@theatlantic.com", + "gender": "Female", + "age": 11 + }, + { + "id": 269, + "firstName": "Domenic", + "lastName": "Levesley", + "email": "dlevesley7g@washington.edu", + "gender": "Male", + "age": 82 + }, + { + "id": 270, + "firstName": "Deane", + "lastName": "Straniero", + "email": "dstraniero7h@wordpress.com", + "gender": "Male", + "age": 83 + }, + { + "id": 271, + "firstName": "Ebony", + "lastName": "Burtwell", + "email": "eburtwell7i@google.ru", + "gender": "Female", + "age": 54 + }, + { + "id": 272, + "firstName": "Dick", + "lastName": "Gomby", + "email": "dgomby7j@bbb.org", + "gender": "Male", + "age": 51 + }, + { + "id": 273, + "firstName": "Artus", + "lastName": "Charpling", + "email": "acharpling7k@ca.gov", + "gender": "Male", + "age": 98 + }, + { + "id": 274, + "firstName": "Chrystel", + "lastName": "Gwillyam", + "email": "cgwillyam7l@dyndns.org", + "gender": "Female", + "age": 70 + }, + { + "id": 275, + "firstName": "Isobel", + "lastName": "ducarme", + "email": "iducarme7m@jigsy.com", + "gender": "Female", + "age": 8 + }, + { + "id": 276, + "firstName": "Morgan", + "lastName": "Folini", + "email": "mfolini7n@wunderground.com", + "gender": "Male", + "age": 17 + }, + { + "id": 277, + "firstName": "Rory", + "lastName": "Schlag", + "email": "rschlag7o@yellowbook.com", + "gender": "Male", + "age": 99 + }, + { + "id": 278, + "firstName": "Adah", + "lastName": "Hedge", + "email": "ahedge7p@uiuc.edu", + "gender": "Female", + "age": 80 + }, + { + "id": 279, + "firstName": "Paige", + "lastName": "Reilingen", + "email": "preilingen7q@cornell.edu", + "gender": "Female", + "age": 50 + }, + { + "id": 280, + "firstName": "Heinrick", + "lastName": "De Goey", + "email": "hdegoey7r@amazon.co.jp", + "gender": "Male", + "age": 50 + }, + { + "id": 281, + "firstName": "Tye", + "lastName": "Marflitt", + "email": "tmarflitt7s@livejournal.com", + "gender": "Male", + "age": 24 + }, + { + "id": 282, + "firstName": "Gerladina", + "lastName": "Jackalin", + "email": "gjackalin7t@msn.com", + "gender": "Female", + "age": 84 + }, + { + "id": 283, + "firstName": "Durante", + "lastName": "Sauvan", + "email": "dsauvan7u@t.co", + "gender": "Male", + "age": 93 + }, + { + "id": 284, + "firstName": "Merralee", + "lastName": "Curme", + "email": "mcurme7v@hugedomains.com", + "gender": "Female", + "age": 76 + }, + { + "id": 285, + "firstName": "Winnah", + "lastName": "Ridsdell", + "email": "wridsdell7w@hubpages.com", + "gender": "Female", + "age": 44 + }, + { + "id": 286, + "firstName": "Lon", + "lastName": "Hustings", + "email": "lhustings7x@csmonitor.com", + "gender": "Male", + "age": 6 + }, + { + "id": 287, + "firstName": "Sebastiano", + "lastName": "Beevis", + "email": "sbeevis7y@rediff.com", + "gender": "Male", + "age": 32 + }, + { + "id": 288, + "firstName": "Bobbie", + "lastName": "Rabidge", + "email": "brabidge7z@huffingtonpost.com", + "gender": "Female", + "age": 71 + }, + { + "id": 289, + "firstName": "Wendeline", + "lastName": "Full", + "email": "wfull80@japanpost.jp", + "gender": "Female", + "age": 94 + }, + { + "id": 290, + "firstName": "Web", + "lastName": "Whitland", + "email": "wwhitland81@irs.gov", + "gender": "Male", + "age": 67 + }, + { + "id": 291, + "firstName": "Evangelin", + "lastName": "Dunridge", + "email": "edunridge82@census.gov", + "gender": "Female", + "age": 31 + }, + { + "id": 292, + "firstName": "Torrin", + "lastName": "Di Biasio", + "email": "tdibiasio83@sbwire.com", + "gender": "Male", + "age": 92 + }, + { + "id": 293, + "firstName": "Marin", + "lastName": "Auld", + "email": "mauld84@slashdot.org", + "gender": "Female", + "age": 13 + }, + { + "id": 294, + "firstName": "Stanislas", + "lastName": "Tarrant", + "email": "starrant85@yandex.ru", + "gender": "Male", + "age": 16 + }, + { + "id": 295, + "firstName": "Rafaellle", + "lastName": "Ormshaw", + "email": "rormshaw86@ifeng.com", + "gender": "Male", + "age": 36 + }, + { + "id": 296, + "firstName": "Erna", + "lastName": "Lawlie", + "email": "elawlie87@yolasite.com", + "gender": "Female", + "age": 64 + }, + { + "id": 297, + "firstName": "Hallie", + "lastName": "Grimestone", + "email": "hgrimestone88@google.com.au", + "gender": "Female", + "age": 41 + }, + { + "id": 298, + "firstName": "Worthington", + "lastName": "Chipp", + "email": "wchipp89@mapquest.com", + "gender": "Male", + "age": 79 + }, + { + "id": 299, + "firstName": "Rinaldo", + "lastName": "Robyns", + "email": "rrobyns8a@wikipedia.org", + "gender": "Male", + "age": 44 + }, + { + "id": 300, + "firstName": "Tobie", + "lastName": "Giral", + "email": "tgiral8b@unc.edu", + "gender": "Male", + "age": 86 + }, + { + "id": 301, + "firstName": "Allissa", + "lastName": "Scoffham", + "email": "ascoffham8c@skyrock.com", + "gender": "Female", + "age": 92 + }, + { + "id": 302, + "firstName": "Bianka", + "lastName": "Pointing", + "email": "bpointing8d@sciencedaily.com", + "gender": "Female", + "age": 29 + }, + { + "id": 303, + "firstName": "Cord", + "lastName": "Sedgeman", + "email": "csedgeman8e@cmu.edu", + "gender": "Male", + "age": 37 + }, + { + "id": 304, + "firstName": "Erminie", + "lastName": "Willshere", + "email": "ewillshere8f@seattletimes.com", + "gender": "Female", + "age": 83 + }, + { + "id": 305, + "firstName": "Gilli", + "lastName": "Tyreman", + "email": "gtyreman8g@gizmodo.com", + "gender": "Female", + "age": 4 + }, + { + "id": 306, + "firstName": "Conni", + "lastName": "Weben", + "email": "cweben8h@dailymotion.com", + "gender": "Female", + "age": 85 + }, + { + "id": 307, + "firstName": "Jerry", + "lastName": "Mamwell", + "email": "jmamwell8i@earthlink.net", + "gender": "Male", + "age": 24 + }, + { + "id": 308, + "firstName": "Cassy", + "lastName": "McGebenay", + "email": "cmcgebenay8j@imageshack.us", + "gender": "Female", + "age": 98 + }, + { + "id": 309, + "firstName": "Yalonda", + "lastName": "Hewlings", + "email": "yhewlings8k@blogs.com", + "gender": "Female", + "age": 57 + }, + { + "id": 310, + "firstName": "Javier", + "lastName": "Bottrill", + "email": "jbottrill8l@tinyurl.com", + "gender": "Male", + "age": 24 + }, + { + "id": 311, + "firstName": "Yule", + "lastName": "Faier", + "email": "yfaier8m@diigo.com", + "gender": "Male", + "age": 27 + }, + { + "id": 312, + "firstName": "Sheri", + "lastName": "Peffer", + "email": "speffer8n@si.edu", + "gender": "Female", + "age": 42 + }, + { + "id": 313, + "firstName": "Angela", + "lastName": "Maddrah", + "email": "amaddrah8o@businesswire.com", + "gender": "Female", + "age": 41 + }, + { + "id": 314, + "firstName": "Hedda", + "lastName": "Roberts", + "email": "hroberts8p@geocities.com", + "gender": "Female", + "age": 76 + }, + { + "id": 315, + "firstName": "Denise", + "lastName": "Veitch", + "email": "dveitch8q@independent.co.uk", + "gender": "Female", + "age": 36 + }, + { + "id": 316, + "firstName": "Chase", + "lastName": "Borgnet", + "email": "cborgnet8r@qq.com", + "gender": "Male", + "age": 59 + }, + { + "id": 317, + "firstName": "Reeta", + "lastName": "Wick", + "email": "rwick8s@smugmug.com", + "gender": "Female", + "age": 97 + }, + { + "id": 318, + "firstName": "Padgett", + "lastName": "Hazelby", + "email": "phazelby8t@sourceforge.net", + "gender": "Male", + "age": 90 + }, + { + "id": 319, + "firstName": "Alden", + "lastName": "Dalgetty", + "email": "adalgetty8u@fc2.com", + "gender": "Male", + "age": 95 + }, + { + "id": 320, + "firstName": "Bogart", + "lastName": "Faraker", + "email": "bfaraker8v@infoseek.co.jp", + "gender": "Male", + "age": 73 + }, + { + "id": 321, + "firstName": "Walther", + "lastName": "Tully", + "email": "wtully8w@japanpost.jp", + "gender": "Male", + "age": 15 + }, + { + "id": 322, + "firstName": "Stefan", + "lastName": "Lonnon", + "email": "slonnon8x@ebay.co.uk", + "gender": "Male", + "age": 89 + }, + { + "id": 323, + "firstName": "Syman", + "lastName": "McLorinan", + "email": "smclorinan8y@jimdo.com", + "gender": "Male", + "age": 3 + }, + { + "id": 324, + "firstName": "Reinald", + "lastName": "Selbie", + "email": "rselbie8z@youku.com", + "gender": "Male", + "age": 78 + }, + { + "id": 325, + "firstName": "Caleb", + "lastName": "Heasman", + "email": "cheasman90@ocn.ne.jp", + "gender": "Male", + "age": 25 + }, + { + "id": 326, + "firstName": "Elicia", + "lastName": "Torrans", + "email": "etorrans91@google.com", + "gender": "Female", + "age": 98 + }, + { + "id": 327, + "firstName": "Kissie", + "lastName": "McRorie", + "email": "kmcrorie92@elpais.com", + "gender": "Female", + "age": 15 + }, + { + "id": 328, + "firstName": "Greg", + "lastName": "Arnecke", + "email": "garnecke93@fc2.com", + "gender": "Male", + "age": 76 + }, + { + "id": 329, + "firstName": "Lorain", + "lastName": "Yggo", + "email": "lyggo94@house.gov", + "gender": "Female", + "age": 25 + }, + { + "id": 330, + "firstName": "Travus", + "lastName": "Brizell", + "email": "tbrizell95@multiply.com", + "gender": "Male", + "age": 75 + }, + { + "id": 331, + "firstName": "Horatius", + "lastName": "Lorking", + "email": "hlorking96@stumbleupon.com", + "gender": "Male", + "age": 84 + }, + { + "id": 332, + "firstName": "Sigmund", + "lastName": "Gowanson", + "email": "sgowanson97@networkadvertising.org", + "gender": "Male", + "age": 95 + }, + { + "id": 333, + "firstName": "Guillema", + "lastName": "Annwyl", + "email": "gannwyl98@shareasale.com", + "gender": "Female", + "age": 43 + }, + { + "id": 334, + "firstName": "Currie", + "lastName": "Crighten", + "email": "ccrighten99@gravatar.com", + "gender": "Male", + "age": 50 + }, + { + "id": 335, + "firstName": "Jdavie", + "lastName": "Walklott", + "email": "jwalklott9a@blogtalkradio.com", + "gender": "Male", + "age": 44 + }, + { + "id": 336, + "firstName": "Mercy", + "lastName": "Janecki", + "email": "mjanecki9b@harvard.edu", + "gender": "Female", + "age": 49 + }, + { + "id": 337, + "firstName": "Lavinia", + "lastName": "Crossfield", + "email": "lcrossfield9c@naver.com", + "gender": "Female", + "age": 11 + }, + { + "id": 338, + "firstName": "Lee", + "lastName": "Luparti", + "email": "lluparti9d@bbc.co.uk", + "gender": "Male", + "age": 77 + }, + { + "id": 339, + "firstName": "Rhoda", + "lastName": "Egalton", + "email": "regalton9e@aol.com", + "gender": "Female", + "age": 23 + }, + { + "id": 340, + "firstName": "Karia", + "lastName": "Ferrie", + "email": "kferrie9f@ebay.co.uk", + "gender": "Female", + "age": 26 + }, + { + "id": 341, + "firstName": "Veronica", + "lastName": "Fudger", + "email": "vfudger9g@huffingtonpost.com", + "gender": "Female", + "age": 45 + }, + { + "id": 342, + "firstName": "Nels", + "lastName": "Jebb", + "email": "njebb9h@studiopress.com", + "gender": "Male", + "age": 90 + }, + { + "id": 343, + "firstName": "Engracia", + "lastName": "Malley", + "email": "emalley9i@pagesperso-orange.fr", + "gender": "Female", + "age": 4 + }, + { + "id": 344, + "firstName": "Beatriz", + "lastName": "Cornwell", + "email": "bcornwell9j@rambler.ru", + "gender": "Female", + "age": 83 + }, + { + "id": 345, + "firstName": "Farra", + "lastName": "Bellworthy", + "email": "fbellworthy9k@smh.com.au", + "gender": "Female", + "age": 60 + }, + { + "id": 346, + "firstName": "Chelsy", + "lastName": "Haysar", + "email": "chaysar9l@wordpress.org", + "gender": "Female", + "age": 15 + }, + { + "id": 347, + "firstName": "Paloma", + "lastName": "Landers", + "email": "planders9m@fastcompany.com", + "gender": "Female", + "age": 84 + }, + { + "id": 348, + "firstName": "Anders", + "lastName": "Simione", + "email": "asimione9n@prlog.org", + "gender": "Male", + "age": 14 + }, + { + "id": 349, + "firstName": "Fredelia", + "lastName": "Jee", + "email": "fjee9o@walmart.com", + "gender": "Female", + "age": 76 + }, + { + "id": 350, + "firstName": "Alley", + "lastName": "Stive", + "email": "astive9p@live.com", + "gender": "Male", + "age": 96 + }, + { + "id": 351, + "firstName": "Harmonia", + "lastName": "Wintour", + "email": "hwintour9q@baidu.com", + "gender": "Female", + "age": 35 + }, + { + "id": 352, + "firstName": "Chastity", + "lastName": "Benet", + "email": "cbenet9r@dailymail.co.uk", + "gender": "Female", + "age": 28 + }, + { + "id": 353, + "firstName": "Magda", + "lastName": "Fulmen", + "email": "mfulmen9s@timesonline.co.uk", + "gender": "Female", + "age": 14 + }, + { + "id": 354, + "firstName": "Cathrin", + "lastName": "Shyres", + "email": "cshyres9t@auda.org.au", + "gender": "Female", + "age": 27 + }, + { + "id": 355, + "firstName": "Claudian", + "lastName": "Lambarth", + "email": "clambarth9u@jigsy.com", + "gender": "Male", + "age": 92 + }, + { + "id": 356, + "firstName": "Hasheem", + "lastName": "Burrill", + "email": "hburrill9v@accuweather.com", + "gender": "Male", + "age": 71 + }, + { + "id": 357, + "firstName": "Genevra", + "lastName": "Oddey", + "email": "goddey9w@abc.net.au", + "gender": "Female", + "age": 71 + }, + { + "id": 358, + "firstName": "Randolph", + "lastName": "Lemin", + "email": "rlemin9x@homestead.com", + "gender": "Male", + "age": 71 + }, + { + "id": 359, + "firstName": "Davidson", + "lastName": "Yell", + "email": "dyell9y@discovery.com", + "gender": "Male", + "age": 1 + }, + { + "id": 360, + "firstName": "Carina", + "lastName": "Feaster", + "email": "cfeaster9z@xinhuanet.com", + "gender": "Female", + "age": 22 + }, + { + "id": 361, + "firstName": "Tito", + "lastName": "Biasetti", + "email": "tbiasettia0@smugmug.com", + "gender": "Male", + "age": 89 + }, + { + "id": 362, + "firstName": "Rusty", + "lastName": "Dadley", + "email": "rdadleya1@mediafire.com", + "gender": "Male", + "age": 33 + }, + { + "id": 363, + "firstName": "Reed", + "lastName": "Hinz", + "email": "rhinza2@mysql.com", + "gender": "Male", + "age": 52 + }, + { + "id": 364, + "firstName": "Ashbey", + "lastName": "Lorkings", + "email": "alorkingsa3@arstechnica.com", + "gender": "Male", + "age": 66 + }, + { + "id": 365, + "firstName": "Robert", + "lastName": "Gumey", + "email": "rgumeya4@trellian.com", + "gender": "Male", + "age": 83 + }, + { + "id": 366, + "firstName": "Olivero", + "lastName": "Ker", + "email": "okera5@omniture.com", + "gender": "Male", + "age": 43 + }, + { + "id": 367, + "firstName": "Templeton", + "lastName": "Bowhay", + "email": "tbowhaya6@geocities.com", + "gender": "Male", + "age": 22 + }, + { + "id": 368, + "firstName": "Meghan", + "lastName": "Coslett", + "email": "mcosletta7@home.pl", + "gender": "Female", + "age": 65 + }, + { + "id": 369, + "firstName": "Melita", + "lastName": "Tremblet", + "email": "mtrembleta8@is.gd", + "gender": "Female", + "age": 62 + }, + { + "id": 370, + "firstName": "Aridatha", + "lastName": "Dewey", + "email": "adeweya9@arizona.edu", + "gender": "Female", + "age": 32 + }, + { + "id": 371, + "firstName": "Devon", + "lastName": "Kadd", + "email": "dkaddaa@rambler.ru", + "gender": "Female", + "age": 61 + }, + { + "id": 372, + "firstName": "Sigismund", + "lastName": "Tash", + "email": "stashab@1688.com", + "gender": "Male", + "age": 22 + }, + { + "id": 373, + "firstName": "Cameron", + "lastName": "Fraine", + "email": "cfraineac@answers.com", + "gender": "Male", + "age": 2 + }, + { + "id": 374, + "firstName": "Errol", + "lastName": "Macari", + "email": "emacariad@spotify.com", + "gender": "Male", + "age": 57 + }, + { + "id": 375, + "firstName": "Branden", + "lastName": "Burdass", + "email": "bburdassae@paginegialle.it", + "gender": "Male", + "age": 32 + }, + { + "id": 376, + "firstName": "Delinda", + "lastName": "Keoghan", + "email": "dkeoghanaf@nydailynews.com", + "gender": "Female", + "age": 38 + }, + { + "id": 377, + "firstName": "Esteban", + "lastName": "Hargraves", + "email": "ehargravesag@posterous.com", + "gender": "Male", + "age": 83 + }, + { + "id": 378, + "firstName": "Aurel", + "lastName": "Kennion", + "email": "akennionah@jimdo.com", + "gender": "Female", + "age": 46 + }, + { + "id": 379, + "firstName": "Maris", + "lastName": "Dumphries", + "email": "mdumphriesai@house.gov", + "gender": "Female", + "age": 19 + }, + { + "id": 380, + "firstName": "Reube", + "lastName": "Hamlin", + "email": "rhamlinaj@bravesites.com", + "gender": "Male", + "age": 25 + }, + { + "id": 381, + "firstName": "Clement", + "lastName": "Shadfourth", + "email": "cshadfourthak@fda.gov", + "gender": "Male", + "age": 8 + }, + { + "id": 382, + "firstName": "Karoly", + "lastName": "Pratchett", + "email": "kpratchettal@unc.edu", + "gender": "Female", + "age": 86 + }, + { + "id": 383, + "firstName": "Jsandye", + "lastName": "Doddridge", + "email": "jdoddridgeam@booking.com", + "gender": "Female", + "age": 96 + }, + { + "id": 384, + "firstName": "Malcolm", + "lastName": "Cordaroy", + "email": "mcordaroyan@mapy.cz", + "gender": "Male", + "age": 18 + }, + { + "id": 385, + "firstName": "Rich", + "lastName": "Collett", + "email": "rcollettao@posterous.com", + "gender": "Male", + "age": 94 + }, + { + "id": 386, + "firstName": "Abram", + "lastName": "Egglestone", + "email": "aegglestoneap@answers.com", + "gender": "Male", + "age": 19 + }, + { + "id": 387, + "firstName": "Jilli", + "lastName": "Douce", + "email": "jdouceaq@upenn.edu", + "gender": "Female", + "age": 52 + }, + { + "id": 388, + "firstName": "Hilliard", + "lastName": "Doerrling", + "email": "hdoerrlingar@google.com", + "gender": "Male", + "age": 9 + }, + { + "id": 389, + "firstName": "Kip", + "lastName": "Kennham", + "email": "kkennhamas@icio.us", + "gender": "Male", + "age": 90 + }, + { + "id": 390, + "firstName": "Katti", + "lastName": "Levison", + "email": "klevisonat@hostgator.com", + "gender": "Female", + "age": 59 + }, + { + "id": 391, + "firstName": "Sim", + "lastName": "Trayes", + "email": "strayesau@arizona.edu", + "gender": "Male", + "age": 71 + }, + { + "id": 392, + "firstName": "Chaddie", + "lastName": "Scougal", + "email": "cscougalav@prlog.org", + "gender": "Male", + "age": 82 + }, + { + "id": 393, + "firstName": "Kaiser", + "lastName": "Proudlove", + "email": "kproudloveaw@narod.ru", + "gender": "Male", + "age": 57 + }, + { + "id": 394, + "firstName": "Ursala", + "lastName": "Sudell", + "email": "usudellax@pbs.org", + "gender": "Female", + "age": 90 + }, + { + "id": 395, + "firstName": "Daniele", + "lastName": "Molyneaux", + "email": "dmolyneauxay@netscape.com", + "gender": "Female", + "age": 15 + }, + { + "id": 396, + "firstName": "Jarrod", + "lastName": "Clunan", + "email": "jclunanaz@devhub.com", + "gender": "Male", + "age": 91 + }, + { + "id": 397, + "firstName": "Regan", + "lastName": "Eynald", + "email": "reynaldb0@state.tx.us", + "gender": "Female", + "age": 99 + }, + { + "id": 398, + "firstName": "Beck", + "lastName": "Dreghorn", + "email": "bdreghornb1@hibu.com", + "gender": "Male", + "age": 13 + }, + { + "id": 399, + "firstName": "Modestine", + "lastName": "Cordel", + "email": "mcordelb2@altervista.org", + "gender": "Female", + "age": 3 + }, + { + "id": 400, + "firstName": "Cindy", + "lastName": "Loblie", + "email": "cloblieb3@desdev.cn", + "gender": "Female", + "age": 85 + }, + { + "id": 401, + "firstName": "Rose", + "lastName": "Jacketts", + "email": "rjackettsb4@apple.com", + "gender": "Female", + "age": 8 + }, + { + "id": 402, + "firstName": "Mara", + "lastName": "Wadham", + "email": "mwadhamb5@cdc.gov", + "gender": "Female", + "age": 22 + }, + { + "id": 403, + "firstName": "Saundra", + "lastName": "Cartmail", + "email": "scartmailb6@bigcartel.com", + "gender": "Male", + "age": 46 + }, + { + "id": 404, + "firstName": "Kin", + "lastName": "Maffioletti", + "email": "kmaffiolettib7@github.io", + "gender": "Male", + "age": 39 + }, + { + "id": 405, + "firstName": "Deane", + "lastName": "Montford", + "email": "dmontfordb8@ask.com", + "gender": "Male", + "age": 4 + }, + { + "id": 406, + "firstName": "Elvin", + "lastName": "Waitland", + "email": "ewaitlandb9@ted.com", + "gender": "Male", + "age": 74 + }, + { + "id": 407, + "firstName": "Prisca", + "lastName": "Terzo", + "email": "pterzoba@usnews.com", + "gender": "Female", + "age": 29 + }, + { + "id": 408, + "firstName": "Rickie", + "lastName": "Raulston", + "email": "rraulstonbb@statcounter.com", + "gender": "Female", + "age": 17 + }, + { + "id": 409, + "firstName": "Maximilien", + "lastName": "Stuckley", + "email": "mstuckleybc@desdev.cn", + "gender": "Male", + "age": 93 + }, + { + "id": 410, + "firstName": "Forbes", + "lastName": "Ellerbeck", + "email": "fellerbeckbd@wikimedia.org", + "gender": "Male", + "age": 50 + }, + { + "id": 411, + "firstName": "Rad", + "lastName": "Kinnar", + "email": "rkinnarbe@google.ru", + "gender": "Male", + "age": 18 + }, + { + "id": 412, + "firstName": "Zabrina", + "lastName": "Checketts", + "email": "zcheckettsbf@alibaba.com", + "gender": "Female", + "age": 75 + }, + { + "id": 413, + "firstName": "Lyn", + "lastName": "Robbert", + "email": "lrobbertbg@walmart.com", + "gender": "Female", + "age": 2 + }, + { + "id": 414, + "firstName": "Ferrell", + "lastName": "Braffington", + "email": "fbraffingtonbh@narod.ru", + "gender": "Male", + "age": 94 + }, + { + "id": 415, + "firstName": "Warren", + "lastName": "Duligall", + "email": "wduligallbi@rediff.com", + "gender": "Male", + "age": 78 + }, + { + "id": 416, + "firstName": "Marcille", + "lastName": "Duran", + "email": "mduranbj@sakura.ne.jp", + "gender": "Female", + "age": 7 + }, + { + "id": 417, + "firstName": "Bartlet", + "lastName": "Hindhaugh", + "email": "bhindhaughbk@princeton.edu", + "gender": "Male", + "age": 88 + }, + { + "id": 418, + "firstName": "Rudolfo", + "lastName": "Lichfield", + "email": "rlichfieldbl@mediafire.com", + "gender": "Male", + "age": 35 + }, + { + "id": 419, + "firstName": "Mike", + "lastName": "Lanbertoni", + "email": "mlanbertonibm@mit.edu", + "gender": "Male", + "age": 87 + }, + { + "id": 420, + "firstName": "Bax", + "lastName": "Pear", + "email": "bpearbn@msn.com", + "gender": "Male", + "age": 47 + }, + { + "id": 421, + "firstName": "Robby", + "lastName": "Fautly", + "email": "rfautlybo@ftc.gov", + "gender": "Male", + "age": 15 + }, + { + "id": 422, + "firstName": "Joana", + "lastName": "Such", + "email": "jsuchbp@scientificamerican.com", + "gender": "Female", + "age": 95 + }, + { + "id": 423, + "firstName": "Gaven", + "lastName": "Duker", + "email": "gdukerbq@xing.com", + "gender": "Male", + "age": 6 + }, + { + "id": 424, + "firstName": "Gunar", + "lastName": "Ryam", + "email": "gryambr@shareasale.com", + "gender": "Male", + "age": 54 + }, + { + "id": 425, + "firstName": "Clark", + "lastName": "Dinsell", + "email": "cdinsellbs@mysql.com", + "gender": "Male", + "age": 74 + }, + { + "id": 426, + "firstName": "Iormina", + "lastName": "Gonthard", + "email": "igonthardbt@istockphoto.com", + "gender": "Female", + "age": 49 + }, + { + "id": 427, + "firstName": "Calhoun", + "lastName": "Gillitt", + "email": "cgillittbu@geocities.jp", + "gender": "Male", + "age": 58 + }, + { + "id": 428, + "firstName": "Estevan", + "lastName": "Longhi", + "email": "elonghibv@deliciousdays.com", + "gender": "Male", + "age": 19 + }, + { + "id": 429, + "firstName": "Frasco", + "lastName": "Shawcross", + "email": "fshawcrossbw@blogs.com", + "gender": "Male", + "age": 36 + }, + { + "id": 430, + "firstName": "Fredric", + "lastName": "Sacks", + "email": "fsacksbx@so-net.ne.jp", + "gender": "Male", + "age": 17 + }, + { + "id": 431, + "firstName": "Evelyn", + "lastName": "Lindenbluth", + "email": "elindenbluthby@joomla.org", + "gender": "Male", + "age": 35 + }, + { + "id": 432, + "firstName": "Kale", + "lastName": "Purselow", + "email": "kpurselowbz@feedburner.com", + "gender": "Male", + "age": 66 + }, + { + "id": 433, + "firstName": "Eunice", + "lastName": "Gager", + "email": "egagerc0@google.ru", + "gender": "Female", + "age": 61 + }, + { + "id": 434, + "firstName": "Lorin", + "lastName": "Labro", + "email": "llabroc1@exblog.jp", + "gender": "Male", + "age": 21 + }, + { + "id": 435, + "firstName": "Justinian", + "lastName": "Godfrey", + "email": "jgodfreyc2@google.nl", + "gender": "Male", + "age": 9 + }, + { + "id": 436, + "firstName": "Fredrick", + "lastName": "Hallum", + "email": "fhallumc3@house.gov", + "gender": "Male", + "age": 97 + }, + { + "id": 437, + "firstName": "Immanuel", + "lastName": "Rivenzon", + "email": "irivenzonc4@paginegialle.it", + "gender": "Male", + "age": 16 + }, + { + "id": 438, + "firstName": "Theobald", + "lastName": "Everett", + "email": "teverettc5@google.co.uk", + "gender": "Male", + "age": 57 + }, + { + "id": 439, + "firstName": "Jordan", + "lastName": "Le Brom", + "email": "jlebromc6@deliciousdays.com", + "gender": "Male", + "age": 89 + }, + { + "id": 440, + "firstName": "Ambrosio", + "lastName": "Polglase", + "email": "apolglasec7@oakley.com", + "gender": "Male", + "age": 24 + }, + { + "id": 441, + "firstName": "Amerigo", + "lastName": "Risely", + "email": "ariselyc8@merriam-webster.com", + "gender": "Male", + "age": 99 + }, + { + "id": 442, + "firstName": "Sella", + "lastName": "Wearn", + "email": "swearnc9@elegantthemes.com", + "gender": "Female", + "age": 6 + }, + { + "id": 443, + "firstName": "Yardley", + "lastName": "Garrattley", + "email": "ygarrattleyca@rediff.com", + "gender": "Male", + "age": 82 + }, + { + "id": 444, + "firstName": "Latia", + "lastName": "Snailham", + "email": "lsnailhamcb@nhs.uk", + "gender": "Female", + "age": 57 + }, + { + "id": 445, + "firstName": "Irma", + "lastName": "Durdan", + "email": "idurdancc@paypal.com", + "gender": "Female", + "age": 68 + }, + { + "id": 446, + "firstName": "Orelie", + "lastName": "Mair", + "email": "omaircd@cocolog-nifty.com", + "gender": "Female", + "age": 30 + }, + { + "id": 447, + "firstName": "Valenka", + "lastName": "Einchcombe", + "email": "veinchcombece@bloglovin.com", + "gender": "Female", + "age": 39 + }, + { + "id": 448, + "firstName": "Jori", + "lastName": "Mourbey", + "email": "jmourbeycf@dion.ne.jp", + "gender": "Female", + "age": 79 + }, + { + "id": 449, + "firstName": "Andeee", + "lastName": "Sackett", + "email": "asackettcg@1und1.de", + "gender": "Female", + "age": 78 + }, + { + "id": 450, + "firstName": "Lavina", + "lastName": "Evens", + "email": "levensch@fema.gov", + "gender": "Female", + "age": 94 + }, + { + "id": 451, + "firstName": "Gay", + "lastName": "Gillopp", + "email": "ggilloppci@hostgator.com", + "gender": "Female", + "age": 86 + }, + { + "id": 452, + "firstName": "Collie", + "lastName": "Mintoft", + "email": "cmintoftcj@indiegogo.com", + "gender": "Female", + "age": 62 + }, + { + "id": 453, + "firstName": "Morry", + "lastName": "Thaxton", + "email": "mthaxtonck@amazon.co.jp", + "gender": "Male", + "age": 28 + }, + { + "id": 454, + "firstName": "Frederich", + "lastName": "Taynton", + "email": "ftayntoncl@go.com", + "gender": "Male", + "age": 7 + }, + { + "id": 455, + "firstName": "Francis", + "lastName": "Sheard", + "email": "fsheardcm@amazon.com", + "gender": "Male", + "age": 82 + }, + { + "id": 456, + "firstName": "Marianna", + "lastName": "Kealy", + "email": "mkealycn@bbb.org", + "gender": "Female", + "age": 94 + }, + { + "id": 457, + "firstName": "Gilberta", + "lastName": "Terzi", + "email": "gterzico@mozilla.com", + "gender": "Female", + "age": 23 + }, + { + "id": 458, + "firstName": "Ring", + "lastName": "Airy", + "email": "rairycp@google.ca", + "gender": "Male", + "age": 74 + }, + { + "id": 459, + "firstName": "Fanny", + "lastName": "Draycott", + "email": "fdraycottcq@cam.ac.uk", + "gender": "Female", + "age": 70 + }, + { + "id": 460, + "firstName": "Emanuel", + "lastName": "Bousquet", + "email": "ebousquetcr@free.fr", + "gender": "Male", + "age": 99 + }, + { + "id": 461, + "firstName": "Tedd", + "lastName": "Sergison", + "email": "tsergisoncs@pen.io", + "gender": "Male", + "age": 11 + }, + { + "id": 462, + "firstName": "Cort", + "lastName": "Grindley", + "email": "cgrindleyct@ted.com", + "gender": "Male", + "age": 72 + }, + { + "id": 463, + "firstName": "Nicholas", + "lastName": "Zink", + "email": "nzinkcu@va.gov", + "gender": "Male", + "age": 72 + }, + { + "id": 464, + "firstName": "Winthrop", + "lastName": "Harriss", + "email": "wharrisscv@miitbeian.gov.cn", + "gender": "Male", + "age": 36 + }, + { + "id": 465, + "firstName": "Fons", + "lastName": "Whatford", + "email": "fwhatfordcw@thetimes.co.uk", + "gender": "Male", + "age": 65 + }, + { + "id": 466, + "firstName": "Jessika", + "lastName": "Santarelli", + "email": "jsantarellicx@rambler.ru", + "gender": "Female", + "age": 9 + }, + { + "id": 467, + "firstName": "Ivory", + "lastName": "Gregori", + "email": "igregoricy@ow.ly", + "gender": "Female", + "age": 85 + }, + { + "id": 468, + "firstName": "Barny", + "lastName": "Maryott", + "email": "bmaryottcz@wikispaces.com", + "gender": "Male", + "age": 65 + }, + { + "id": 469, + "firstName": "Ingaborg", + "lastName": "Tripcony", + "email": "itripconyd0@vkontakte.ru", + "gender": "Female", + "age": 18 + }, + { + "id": 470, + "firstName": "Yurik", + "lastName": "Mc Caughan", + "email": "ymccaughand1@t.co", + "gender": "Male", + "age": 95 + }, + { + "id": 471, + "firstName": "Dew", + "lastName": "McLukie", + "email": "dmclukied2@slashdot.org", + "gender": "Male", + "age": 69 + }, + { + "id": 472, + "firstName": "Irena", + "lastName": "Broinlich", + "email": "ibroinlichd3@ehow.com", + "gender": "Female", + "age": 98 + }, + { + "id": 473, + "firstName": "Patrica", + "lastName": "Meekins", + "email": "pmeekinsd4@ihg.com", + "gender": "Female", + "age": 81 + }, + { + "id": 474, + "firstName": "Imojean", + "lastName": "Stannislawski", + "email": "istannislawskid5@ocn.ne.jp", + "gender": "Female", + "age": 61 + }, + { + "id": 475, + "firstName": "Darice", + "lastName": "Ruggier", + "email": "druggierd6@mashable.com", + "gender": "Female", + "age": 49 + }, + { + "id": 476, + "firstName": "Sol", + "lastName": "Bigglestone", + "email": "sbigglestoned7@163.com", + "gender": "Male", + "age": 28 + }, + { + "id": 477, + "firstName": "Ingemar", + "lastName": "Joscelyn", + "email": "ijoscelynd8@irs.gov", + "gender": "Male", + "age": 32 + }, + { + "id": 478, + "firstName": "Rozina", + "lastName": "Dowda", + "email": "rdowdad9@dyndns.org", + "gender": "Female", + "age": 49 + }, + { + "id": 479, + "firstName": "Chaunce", + "lastName": "McQuarter", + "email": "cmcquarterda@foxnews.com", + "gender": "Male", + "age": 29 + }, + { + "id": 480, + "firstName": "Dore", + "lastName": "Reskelly", + "email": "dreskellydb@ucla.edu", + "gender": "Female", + "age": 65 + }, + { + "id": 481, + "firstName": "Flin", + "lastName": "Rowena", + "email": "frowenadc@ning.com", + "gender": "Male", + "age": 78 + }, + { + "id": 482, + "firstName": "Starr", + "lastName": "Hancorn", + "email": "shancorndd@360.cn", + "gender": "Female", + "age": 8 + }, + { + "id": 483, + "firstName": "Adolphus", + "lastName": "Duester", + "email": "aduesterde@seesaa.net", + "gender": "Male", + "age": 13 + }, + { + "id": 484, + "firstName": "Rosanna", + "lastName": "Benz", + "email": "rbenzdf@washingtonpost.com", + "gender": "Female", + "age": 52 + }, + { + "id": 485, + "firstName": "Gran", + "lastName": "Graddell", + "email": "ggraddelldg@over-blog.com", + "gender": "Male", + "age": 73 + }, + { + "id": 486, + "firstName": "Revkah", + "lastName": "Strettell", + "email": "rstrettelldh@nationalgeographic.com", + "gender": "Female", + "age": 8 + }, + { + "id": 487, + "firstName": "Nathanil", + "lastName": "Thaller", + "email": "nthallerdi@prweb.com", + "gender": "Male", + "age": 6 + }, + { + "id": 488, + "firstName": "Joseito", + "lastName": "Austing", + "email": "jaustingdj@google.com.au", + "gender": "Male", + "age": 98 + }, + { + "id": 489, + "firstName": "Rici", + "lastName": "O' Donohoe", + "email": "rodonohoedk@diigo.com", + "gender": "Female", + "age": 92 + }, + { + "id": 490, + "firstName": "Giuseppe", + "lastName": "Gillbee", + "email": "ggillbeedl@usnews.com", + "gender": "Male", + "age": 90 + }, + { + "id": 491, + "firstName": "Fanchette", + "lastName": "Riatt", + "email": "friattdm@cdbaby.com", + "gender": "Female", + "age": 11 + }, + { + "id": 492, + "firstName": "Herschel", + "lastName": "Jelf", + "email": "hjelfdn@facebook.com", + "gender": "Male", + "age": 85 + }, + { + "id": 493, + "firstName": "Alane", + "lastName": "Calf", + "email": "acalfdo@google.ca", + "gender": "Female", + "age": 47 + }, + { + "id": 494, + "firstName": "Josi", + "lastName": "Woolager", + "email": "jwoolagerdp@stanford.edu", + "gender": "Female", + "age": 36 + }, + { + "id": 495, + "firstName": "Tadeas", + "lastName": "Bracer", + "email": "tbracerdq@t-online.de", + "gender": "Male", + "age": 91 + }, + { + "id": 496, + "firstName": "Meris", + "lastName": "Hirthe", + "email": "mhirthedr@163.com", + "gender": "Female", + "age": 70 + }, + { + "id": 497, + "firstName": "Evie", + "lastName": "Hostan", + "email": "ehostands@disqus.com", + "gender": "Female", + "age": 69 + }, + { + "id": 498, + "firstName": "Stormi", + "lastName": "Pedlar", + "email": "spedlardt@boston.com", + "gender": "Female", + "age": 65 + }, + { + "id": 499, + "firstName": "Mario", + "lastName": "Reinert", + "email": "mreinertdu@bloomberg.com", + "gender": "Male", + "age": 68 + }, + { + "id": 500, + "firstName": "Gaultiero", + "lastName": "Bedells", + "email": "gbedellsdv@sciencedirect.com", + "gender": "Male", + "age": 95 + }, + { + "id": 501, + "firstName": "Feodor", + "lastName": "Menault", + "email": "fmenaultdw@jiathis.com", + "gender": "Male", + "age": 30 + }, + { + "id": 502, + "firstName": "Zeke", + "lastName": "Libbis", + "email": "zlibbisdx@wired.com", + "gender": "Male", + "age": 13 + }, + { + "id": 503, + "firstName": "Jilli", + "lastName": "Pattison", + "email": "jpattisondy@squidoo.com", + "gender": "Female", + "age": 21 + }, + { + "id": 504, + "firstName": "Joni", + "lastName": "Skillanders", + "email": "jskillandersdz@yolasite.com", + "gender": "Female", + "age": 88 + }, + { + "id": 505, + "firstName": "Virgie", + "lastName": "Grzeskowski", + "email": "vgrzeskowskie0@hhs.gov", + "gender": "Male", + "age": 12 + }, + { + "id": 506, + "firstName": "Pepito", + "lastName": "Ogus", + "email": "poguse1@webeden.co.uk", + "gender": "Male", + "age": 8 + }, + { + "id": 507, + "firstName": "Correy", + "lastName": "Boughen", + "email": "cboughene2@zdnet.com", + "gender": "Male", + "age": 63 + }, + { + "id": 508, + "firstName": "Clayborne", + "lastName": "Spellman", + "email": "cspellmane3@mashable.com", + "gender": "Male", + "age": 93 + }, + { + "id": 509, + "firstName": "Maiga", + "lastName": "Beeckx", + "email": "mbeeckxe4@reuters.com", + "gender": "Female", + "age": 17 + }, + { + "id": 510, + "firstName": "Steve", + "lastName": "Grestie", + "email": "sgrestiee5@msn.com", + "gender": "Male", + "age": 31 + }, + { + "id": 511, + "firstName": "Artemas", + "lastName": "Mebius", + "email": "amebiuse6@bravesites.com", + "gender": "Male", + "age": 58 + }, + { + "id": 512, + "firstName": "Vitia", + "lastName": "Julyan", + "email": "vjulyane7@sakura.ne.jp", + "gender": "Female", + "age": 56 + }, + { + "id": 513, + "firstName": "Terrill", + "lastName": "Nannizzi", + "email": "tnannizzie8@addthis.com", + "gender": "Male", + "age": 36 + }, + { + "id": 514, + "firstName": "Nicoline", + "lastName": "Vergo", + "email": "nvergoe9@walmart.com", + "gender": "Female", + "age": 72 + }, + { + "id": 515, + "firstName": "Linzy", + "lastName": "Janny", + "email": "ljannyea@nymag.com", + "gender": "Female", + "age": 78 + }, + { + "id": 516, + "firstName": "Ashlan", + "lastName": "Hallyburton", + "email": "ahallyburtoneb@sourceforge.net", + "gender": "Female", + "age": 76 + }, + { + "id": 517, + "firstName": "Anallese", + "lastName": "Crimmins", + "email": "acrimminsec@soup.io", + "gender": "Female", + "age": 28 + }, + { + "id": 518, + "firstName": "Yoshi", + "lastName": "Giannazzo", + "email": "ygiannazzoed@dropbox.com", + "gender": "Female", + "age": 100 + }, + { + "id": 519, + "firstName": "Nero", + "lastName": "Hewins", + "email": "nhewinsee@merriam-webster.com", + "gender": "Male", + "age": 38 + }, + { + "id": 520, + "firstName": "Sheba", + "lastName": "Kerbey", + "email": "skerbeyef@blogs.com", + "gender": "Female", + "age": 39 + }, + { + "id": 521, + "firstName": "Gwenny", + "lastName": "Christauffour", + "email": "gchristauffoureg@businessinsider.com", + "gender": "Female", + "age": 56 + }, + { + "id": 522, + "firstName": "Angele", + "lastName": "Tassell", + "email": "atasselleh@infoseek.co.jp", + "gender": "Female", + "age": 78 + }, + { + "id": 523, + "firstName": "Celina", + "lastName": "Gave", + "email": "cgaveei@i2i.jp", + "gender": "Female", + "age": 6 + }, + { + "id": 524, + "firstName": "Kenon", + "lastName": "Grabiec", + "email": "kgrabiecej@seesaa.net", + "gender": "Male", + "age": 91 + }, + { + "id": 525, + "firstName": "Hewet", + "lastName": "Bartkowiak", + "email": "hbartkowiakek@mozilla.com", + "gender": "Male", + "age": 84 + }, + { + "id": 526, + "firstName": "Percy", + "lastName": "Nicholl", + "email": "pnichollel@goo.ne.jp", + "gender": "Male", + "age": 35 + }, + { + "id": 527, + "firstName": "Hoyt", + "lastName": "Daverin", + "email": "hdaverinem@g.co", + "gender": "Male", + "age": 40 + }, + { + "id": 528, + "firstName": "Jeanelle", + "lastName": "Giorgi", + "email": "jgiorgien@gov.uk", + "gender": "Female", + "age": 60 + }, + { + "id": 529, + "firstName": "Shae", + "lastName": "Normadell", + "email": "snormadelleo@walmart.com", + "gender": "Male", + "age": 38 + }, + { + "id": 530, + "firstName": "Roderic", + "lastName": "Hubble", + "email": "rhubbleep@ca.gov", + "gender": "Male", + "age": 1 + }, + { + "id": 531, + "firstName": "Patience", + "lastName": "Karchowski", + "email": "pkarchowskieq@walmart.com", + "gender": "Female", + "age": 66 + }, + { + "id": 532, + "firstName": "Helaina", + "lastName": "Briat", + "email": "hbriater@comsenz.com", + "gender": "Female", + "age": 47 + }, + { + "id": 533, + "firstName": "Hanson", + "lastName": "MacRirie", + "email": "hmacririees@upenn.edu", + "gender": "Male", + "age": 67 + }, + { + "id": 534, + "firstName": "Stacia", + "lastName": "Nicholes", + "email": "snicholeset@cnbc.com", + "gender": "Female", + "age": 65 + }, + { + "id": 535, + "firstName": "Artemus", + "lastName": "Atkinson", + "email": "aatkinsoneu@narod.ru", + "gender": "Male", + "age": 9 + }, + { + "id": 536, + "firstName": "Glad", + "lastName": "Gooden", + "email": "ggoodenev@mozilla.com", + "gender": "Female", + "age": 87 + }, + { + "id": 537, + "firstName": "Michal", + "lastName": "Schoolfield", + "email": "mschoolfieldew@earthlink.net", + "gender": "Male", + "age": 42 + }, + { + "id": 538, + "firstName": "Renault", + "lastName": "Cannop", + "email": "rcannopex@go.com", + "gender": "Male", + "age": 5 + }, + { + "id": 539, + "firstName": "Caitlin", + "lastName": "Kernell", + "email": "ckernelley@imgur.com", + "gender": "Female", + "age": 34 + }, + { + "id": 540, + "firstName": "Angie", + "lastName": "Pengilly", + "email": "apengillyez@tumblr.com", + "gender": "Female", + "age": 80 + }, + { + "id": 541, + "firstName": "Werner", + "lastName": "Duckett", + "email": "wduckettf0@disqus.com", + "gender": "Male", + "age": 1 + }, + { + "id": 542, + "firstName": "Augy", + "lastName": "Brilleman", + "email": "abrillemanf1@yelp.com", + "gender": "Male", + "age": 9 + }, + { + "id": 543, + "firstName": "Garner", + "lastName": "Duxbarry", + "email": "gduxbarryf2@ucsd.edu", + "gender": "Male", + "age": 84 + }, + { + "id": 544, + "firstName": "Alphonso", + "lastName": "Jocic", + "email": "ajocicf3@sphinn.com", + "gender": "Male", + "age": 8 + }, + { + "id": 545, + "firstName": "Brooke", + "lastName": "Torrisi", + "email": "btorrisif4@vkontakte.ru", + "gender": "Female", + "age": 20 + }, + { + "id": 546, + "firstName": "Demetris", + "lastName": "Eady", + "email": "deadyf5@wsj.com", + "gender": "Female", + "age": 34 + }, + { + "id": 547, + "firstName": "Caron", + "lastName": "Verman", + "email": "cvermanf6@ucoz.com", + "gender": "Female", + "age": 32 + }, + { + "id": 548, + "firstName": "Danie", + "lastName": "Stirton", + "email": "dstirtonf7@flickr.com", + "gender": "Male", + "age": 73 + }, + { + "id": 549, + "firstName": "Hana", + "lastName": "Selvester", + "email": "hselvesterf8@rakuten.co.jp", + "gender": "Female", + "age": 22 + }, + { + "id": 550, + "firstName": "Isa", + "lastName": "Dalzell", + "email": "idalzellf9@webmd.com", + "gender": "Female", + "age": 32 + }, + { + "id": 551, + "firstName": "Esdras", + "lastName": "Manifold", + "email": "emanifoldfa@miibeian.gov.cn", + "gender": "Male", + "age": 88 + }, + { + "id": 552, + "firstName": "Reggie", + "lastName": "Loveridge", + "email": "rloveridgefb@jugem.jp", + "gender": "Male", + "age": 78 + }, + { + "id": 553, + "firstName": "Eba", + "lastName": "Applebee", + "email": "eapplebeefc@shop-pro.jp", + "gender": "Female", + "age": 15 + }, + { + "id": 554, + "firstName": "Marlin", + "lastName": "Doggett", + "email": "mdoggettfd@google.cn", + "gender": "Male", + "age": 18 + }, + { + "id": 555, + "firstName": "Sheba", + "lastName": "Fredi", + "email": "sfredife@illinois.edu", + "gender": "Female", + "age": 44 + }, + { + "id": 556, + "firstName": "Waldemar", + "lastName": "Hazelgrove", + "email": "whazelgroveff@deviantart.com", + "gender": "Male", + "age": 55 + }, + { + "id": 557, + "firstName": "Thacher", + "lastName": "Redhouse", + "email": "tredhousefg@arstechnica.com", + "gender": "Male", + "age": 8 + }, + { + "id": 558, + "firstName": "Celeste", + "lastName": "Airy", + "email": "cairyfh@123-reg.co.uk", + "gender": "Female", + "age": 20 + }, + { + "id": 559, + "firstName": "Aubree", + "lastName": "Shetliff", + "email": "ashetlifffi@nhs.uk", + "gender": "Female", + "age": 35 + }, + { + "id": 560, + "firstName": "Florida", + "lastName": "Kovacs", + "email": "fkovacsfj@merriam-webster.com", + "gender": "Female", + "age": 73 + }, + { + "id": 561, + "firstName": "Nappy", + "lastName": "Gloyens", + "email": "ngloyensfk@nsw.gov.au", + "gender": "Male", + "age": 89 + }, + { + "id": 562, + "firstName": "Aleta", + "lastName": "Baguley", + "email": "abaguleyfl@constantcontact.com", + "gender": "Female", + "age": 8 + }, + { + "id": 563, + "firstName": "Shay", + "lastName": "Liepins", + "email": "sliepinsfm@nih.gov", + "gender": "Male", + "age": 37 + }, + { + "id": 564, + "firstName": "Hilary", + "lastName": "Sclater", + "email": "hsclaterfn@istockphoto.com", + "gender": "Female", + "age": 77 + }, + { + "id": 565, + "firstName": "Kirk", + "lastName": "Matiasek", + "email": "kmatiasekfo@jugem.jp", + "gender": "Male", + "age": 86 + }, + { + "id": 566, + "firstName": "Mannie", + "lastName": "Tointon", + "email": "mtointonfp@cdc.gov", + "gender": "Male", + "age": 23 + }, + { + "id": 567, + "firstName": "Carolin", + "lastName": "Piolli", + "email": "cpiollifq@time.com", + "gender": "Female", + "age": 75 + }, + { + "id": 568, + "firstName": "Cass", + "lastName": "Fellon", + "email": "cfellonfr@ameblo.jp", + "gender": "Female", + "age": 21 + }, + { + "id": 569, + "firstName": "Natassia", + "lastName": "Metheringham", + "email": "nmetheringhamfs@arstechnica.com", + "gender": "Female", + "age": 35 + }, + { + "id": 570, + "firstName": "Bertine", + "lastName": "Simenot", + "email": "bsimenotft@instagram.com", + "gender": "Female", + "age": 53 + }, + { + "id": 571, + "firstName": "Ardyth", + "lastName": "Heathcott", + "email": "aheathcottfu@independent.co.uk", + "gender": "Female", + "age": 65 + }, + { + "id": 572, + "firstName": "Natty", + "lastName": "Courtin", + "email": "ncourtinfv@yahoo.co.jp", + "gender": "Male", + "age": 55 + }, + { + "id": 573, + "firstName": "Peggi", + "lastName": "Robberts", + "email": "probbertsfw@theatlantic.com", + "gender": "Female", + "age": 6 + }, + { + "id": 574, + "firstName": "Silas", + "lastName": "Trahar", + "email": "straharfx@amazon.de", + "gender": "Male", + "age": 9 + }, + { + "id": 575, + "firstName": "Silvano", + "lastName": "Collinwood", + "email": "scollinwoodfy@home.pl", + "gender": "Male", + "age": 81 + }, + { + "id": 576, + "firstName": "Robena", + "lastName": "Ferrelli", + "email": "rferrellifz@uol.com.br", + "gender": "Female", + "age": 38 + }, + { + "id": 577, + "firstName": "Arlana", + "lastName": "Ellams", + "email": "aellamsg0@nsw.gov.au", + "gender": "Female", + "age": 60 + }, + { + "id": 578, + "firstName": "Ladonna", + "lastName": "Agent", + "email": "lagentg1@woothemes.com", + "gender": "Female", + "age": 53 + }, + { + "id": 579, + "firstName": "Dar", + "lastName": "Murrison", + "email": "dmurrisong2@eepurl.com", + "gender": "Male", + "age": 62 + }, + { + "id": 580, + "firstName": "Bartlet", + "lastName": "Bolletti", + "email": "bbollettig3@edublogs.org", + "gender": "Male", + "age": 19 + }, + { + "id": 581, + "firstName": "Mozes", + "lastName": "Maghull", + "email": "mmaghullg4@ezinearticles.com", + "gender": "Male", + "age": 2 + }, + { + "id": 582, + "firstName": "Jamill", + "lastName": "Dybald", + "email": "jdybaldg5@usgs.gov", + "gender": "Male", + "age": 56 + }, + { + "id": 583, + "firstName": "Muffin", + "lastName": "Melbert", + "email": "mmelbertg6@mozilla.org", + "gender": "Male", + "age": 34 + }, + { + "id": 584, + "firstName": "Mendie", + "lastName": "Noell", + "email": "mnoellg7@illinois.edu", + "gender": "Male", + "age": 29 + }, + { + "id": 585, + "firstName": "Marcos", + "lastName": "McElrath", + "email": "mmcelrathg8@flickr.com", + "gender": "Male", + "age": 13 + }, + { + "id": 586, + "firstName": "Ringo", + "lastName": "Roocroft", + "email": "rroocroftg9@imgur.com", + "gender": "Male", + "age": 33 + }, + { + "id": 587, + "firstName": "Clementina", + "lastName": "Bolan", + "email": "cbolanga@drupal.org", + "gender": "Female", + "age": 12 + }, + { + "id": 588, + "firstName": "Douglas", + "lastName": "Dubose", + "email": "ddubosegb@yahoo.co.jp", + "gender": "Male", + "age": 74 + }, + { + "id": 589, + "firstName": "Baxy", + "lastName": "Broe", + "email": "bbroegc@slashdot.org", + "gender": "Male", + "age": 5 + }, + { + "id": 590, + "firstName": "Adamo", + "lastName": "Pepon", + "email": "apepongd@slashdot.org", + "gender": "Male", + "age": 50 + }, + { + "id": 591, + "firstName": "Bailie", + "lastName": "Albers", + "email": "balbersge@odnoklassniki.ru", + "gender": "Male", + "age": 49 + }, + { + "id": 592, + "firstName": "Dan", + "lastName": "Vellender", + "email": "dvellendergf@weibo.com", + "gender": "Male", + "age": 7 + }, + { + "id": 593, + "firstName": "Hector", + "lastName": "Chaffen", + "email": "hchaffengg@shop-pro.jp", + "gender": "Male", + "age": 95 + }, + { + "id": 594, + "firstName": "Mellisent", + "lastName": "Dullingham", + "email": "mdullinghamgh@wired.com", + "gender": "Female", + "age": 2 + }, + { + "id": 595, + "firstName": "Minor", + "lastName": "Lapidus", + "email": "mlapidusgi@washingtonpost.com", + "gender": "Male", + "age": 16 + }, + { + "id": 596, + "firstName": "Lilllie", + "lastName": "Teaze", + "email": "lteazegj@behance.net", + "gender": "Female", + "age": 83 + }, + { + "id": 597, + "firstName": "Darby", + "lastName": "Lambard", + "email": "dlambardgk@surveymonkey.com", + "gender": "Male", + "age": 100 + }, + { + "id": 598, + "firstName": "Kellen", + "lastName": "Hurdis", + "email": "khurdisgl@princeton.edu", + "gender": "Male", + "age": 70 + }, + { + "id": 599, + "firstName": "Carly", + "lastName": "Shearsby", + "email": "cshearsbygm@ocn.ne.jp", + "gender": "Male", + "age": 73 + }, + { + "id": 600, + "firstName": "Aloysius", + "lastName": "Kehoe", + "email": "akehoegn@time.com", + "gender": "Male", + "age": 82 + }, + { + "id": 601, + "firstName": "Rance", + "lastName": "Cousins", + "email": "rcousinsgo@irs.gov", + "gender": "Male", + "age": 15 + }, + { + "id": 602, + "firstName": "Reuben", + "lastName": "Whitesel", + "email": "rwhiteselgp@walmart.com", + "gender": "Male", + "age": 27 + }, + { + "id": 603, + "firstName": "Thorny", + "lastName": "Mussalli", + "email": "tmussalligq@simplemachines.org", + "gender": "Male", + "age": 99 + }, + { + "id": 604, + "firstName": "Bailey", + "lastName": "Wastall", + "email": "bwastallgr@sakura.ne.jp", + "gender": "Male", + "age": 68 + }, + { + "id": 605, + "firstName": "Ezequiel", + "lastName": "Danzey", + "email": "edanzeygs@google.it", + "gender": "Male", + "age": 12 + }, + { + "id": 606, + "firstName": "Keslie", + "lastName": "Stendell", + "email": "kstendellgt@shop-pro.jp", + "gender": "Female", + "age": 80 + }, + { + "id": 607, + "firstName": "Davita", + "lastName": "Giamitti", + "email": "dgiamittigu@nature.com", + "gender": "Female", + "age": 75 + }, + { + "id": 608, + "firstName": "Kip", + "lastName": "Drennan", + "email": "kdrennangv@wordpress.org", + "gender": "Female", + "age": 95 + }, + { + "id": 609, + "firstName": "Chadd", + "lastName": "Ivanyutin", + "email": "civanyutingw@noaa.gov", + "gender": "Male", + "age": 56 + }, + { + "id": 610, + "firstName": "Dennie", + "lastName": "Toovey", + "email": "dtooveygx@guardian.co.uk", + "gender": "Male", + "age": 97 + }, + { + "id": 611, + "firstName": "Carolina", + "lastName": "Liven", + "email": "clivengy@howstuffworks.com", + "gender": "Female", + "age": 32 + }, + { + "id": 612, + "firstName": "Guillema", + "lastName": "Monnelly", + "email": "gmonnellygz@npr.org", + "gender": "Female", + "age": 67 + }, + { + "id": 613, + "firstName": "Gelya", + "lastName": "Wannes", + "email": "gwannesh0@guardian.co.uk", + "gender": "Female", + "age": 46 + }, + { + "id": 614, + "firstName": "Ivar", + "lastName": "Ranvoise", + "email": "iranvoiseh1@meetup.com", + "gender": "Male", + "age": 12 + }, + { + "id": 615, + "firstName": "Vincenty", + "lastName": "Harman", + "email": "vharmanh2@wikipedia.org", + "gender": "Male", + "age": 76 + }, + { + "id": 616, + "firstName": "Delmer", + "lastName": "Guynemer", + "email": "dguynemerh3@ovh.net", + "gender": "Male", + "age": 55 + }, + { + "id": 617, + "firstName": "Anna-maria", + "lastName": "Broyd", + "email": "abroydh4@admin.ch", + "gender": "Female", + "age": 8 + }, + { + "id": 618, + "firstName": "Lucky", + "lastName": "Glowinski", + "email": "lglowinskih5@cdc.gov", + "gender": "Female", + "age": 69 + }, + { + "id": 619, + "firstName": "Sharleen", + "lastName": "Cloutt", + "email": "scloutth6@ca.gov", + "gender": "Female", + "age": 38 + }, + { + "id": 620, + "firstName": "Ezechiel", + "lastName": "Doorly", + "email": "edoorlyh7@ow.ly", + "gender": "Male", + "age": 26 + }, + { + "id": 621, + "firstName": "Byrann", + "lastName": "Staton", + "email": "bstatonh8@oracle.com", + "gender": "Male", + "age": 81 + }, + { + "id": 622, + "firstName": "Carmelia", + "lastName": "Bazoge", + "email": "cbazogeh9@vk.com", + "gender": "Female", + "age": 7 + }, + { + "id": 623, + "firstName": "Dannie", + "lastName": "Saxton", + "email": "dsaxtonha@nps.gov", + "gender": "Female", + "age": 89 + }, + { + "id": 624, + "firstName": "Sampson", + "lastName": "Flinn", + "email": "sflinnhb@nydailynews.com", + "gender": "Male", + "age": 4 + }, + { + "id": 625, + "firstName": "Saunderson", + "lastName": "Casone", + "email": "scasonehc@photobucket.com", + "gender": "Male", + "age": 60 + }, + { + "id": 626, + "firstName": "Sibella", + "lastName": "Carlisso", + "email": "scarlissohd@toplist.cz", + "gender": "Female", + "age": 92 + }, + { + "id": 627, + "firstName": "Meghan", + "lastName": "Strowan", + "email": "mstrowanhe@sciencedirect.com", + "gender": "Female", + "age": 45 + }, + { + "id": 628, + "firstName": "Minna", + "lastName": "Offin", + "email": "moffinhf@hp.com", + "gender": "Female", + "age": 83 + }, + { + "id": 629, + "firstName": "Merrill", + "lastName": "Averall", + "email": "maverallhg@wp.com", + "gender": "Female", + "age": 71 + }, + { + "id": 630, + "firstName": "Guy", + "lastName": "Pittford", + "email": "gpittfordhh@si.edu", + "gender": "Male", + "age": 71 + }, + { + "id": 631, + "firstName": "Shandra", + "lastName": "Gildersleaves", + "email": "sgildersleaveshi@marriott.com", + "gender": "Female", + "age": 50 + }, + { + "id": 632, + "firstName": "Antonia", + "lastName": "Forlong", + "email": "aforlonghj@facebook.com", + "gender": "Female", + "age": 39 + }, + { + "id": 633, + "firstName": "Thaxter", + "lastName": "Stredder", + "email": "tstredderhk@newsvine.com", + "gender": "Male", + "age": 67 + }, + { + "id": 634, + "firstName": "Gae", + "lastName": "Bladder", + "email": "gbladderhl@ca.gov", + "gender": "Female", + "age": 9 + }, + { + "id": 635, + "firstName": "Mariska", + "lastName": "Okenden", + "email": "mokendenhm@smugmug.com", + "gender": "Female", + "age": 17 + }, + { + "id": 636, + "firstName": "Geoff", + "lastName": "Mawhinney", + "email": "gmawhinneyhn@sohu.com", + "gender": "Male", + "age": 47 + }, + { + "id": 637, + "firstName": "Clea", + "lastName": "Podbury", + "email": "cpodburyho@bigcartel.com", + "gender": "Female", + "age": 69 + }, + { + "id": 638, + "firstName": "Cherida", + "lastName": "Labro", + "email": "clabrohp@theglobeandmail.com", + "gender": "Female", + "age": 45 + }, + { + "id": 639, + "firstName": "Karlens", + "lastName": "Gue", + "email": "kguehq@networksolutions.com", + "gender": "Male", + "age": 32 + }, + { + "id": 640, + "firstName": "Reube", + "lastName": "Burtt", + "email": "rburtthr@godaddy.com", + "gender": "Male", + "age": 99 + }, + { + "id": 641, + "firstName": "Rakel", + "lastName": "Burgoine", + "email": "rburgoinehs@sfgate.com", + "gender": "Female", + "age": 91 + }, + { + "id": 642, + "firstName": "Chrysler", + "lastName": "Lennox", + "email": "clennoxht@nifty.com", + "gender": "Female", + "age": 13 + }, + { + "id": 643, + "firstName": "Rocky", + "lastName": "Hugnot", + "email": "rhugnothu@ebay.com", + "gender": "Male", + "age": 73 + }, + { + "id": 644, + "firstName": "Clari", + "lastName": "Kynder", + "email": "ckynderhv@webs.com", + "gender": "Female", + "age": 84 + }, + { + "id": 645, + "firstName": "Gordy", + "lastName": "Tailour", + "email": "gtailourhw@reverbnation.com", + "gender": "Male", + "age": 25 + }, + { + "id": 646, + "firstName": "Dallis", + "lastName": "Gobeau", + "email": "dgobeauhx@dmoz.org", + "gender": "Male", + "age": 94 + }, + { + "id": 647, + "firstName": "Hebert", + "lastName": "Fells", + "email": "hfellshy@tmall.com", + "gender": "Male", + "age": 45 + }, + { + "id": 648, + "firstName": "Virginie", + "lastName": "Stearnes", + "email": "vstearneshz@istockphoto.com", + "gender": "Female", + "age": 1 + }, + { + "id": 649, + "firstName": "Rene", + "lastName": "Matuszewski", + "email": "rmatuszewskii0@shop-pro.jp", + "gender": "Male", + "age": 87 + }, + { + "id": 650, + "firstName": "Marsha", + "lastName": "Shankle", + "email": "mshanklei1@pinterest.com", + "gender": "Female", + "age": 95 + }, + { + "id": 651, + "firstName": "Kalindi", + "lastName": "Yates", + "email": "kyatesi2@bloglines.com", + "gender": "Female", + "age": 98 + }, + { + "id": 652, + "firstName": "Caryl", + "lastName": "Leynagh", + "email": "cleynaghi3@weebly.com", + "gender": "Male", + "age": 22 + }, + { + "id": 653, + "firstName": "Nyssa", + "lastName": "Trevna", + "email": "ntrevnai4@icio.us", + "gender": "Female", + "age": 57 + }, + { + "id": 654, + "firstName": "Jean", + "lastName": "Nail", + "email": "jnaili5@privacy.gov.au", + "gender": "Female", + "age": 86 + }, + { + "id": 655, + "firstName": "Neddie", + "lastName": "Pennini", + "email": "npenninii6@blogs.com", + "gender": "Male", + "age": 48 + }, + { + "id": 656, + "firstName": "Lacey", + "lastName": "Maggorini", + "email": "lmaggorinii7@cbc.ca", + "gender": "Female", + "age": 69 + }, + { + "id": 657, + "firstName": "Garret", + "lastName": "Hiscocks", + "email": "ghiscocksi8@1und1.de", + "gender": "Male", + "age": 67 + }, + { + "id": 658, + "firstName": "Bernette", + "lastName": "Crottagh", + "email": "bcrottaghi9@cnet.com", + "gender": "Female", + "age": 77 + }, + { + "id": 659, + "firstName": "Marlin", + "lastName": "Mallall", + "email": "mmallallia@i2i.jp", + "gender": "Male", + "age": 21 + }, + { + "id": 660, + "firstName": "Lothario", + "lastName": "McDermid", + "email": "lmcdermidib@tamu.edu", + "gender": "Male", + "age": 64 + }, + { + "id": 661, + "firstName": "Lamont", + "lastName": "McCutheon", + "email": "lmccutheonic@vinaora.com", + "gender": "Male", + "age": 27 + }, + { + "id": 662, + "firstName": "Beulah", + "lastName": "Jerratsch", + "email": "bjerratschid@globo.com", + "gender": "Female", + "age": 52 + }, + { + "id": 663, + "firstName": "Barney", + "lastName": "Domerq", + "email": "bdomerqie@archive.org", + "gender": "Male", + "age": 57 + }, + { + "id": 664, + "firstName": "Vaughn", + "lastName": "Arbor", + "email": "varborif@redcross.org", + "gender": "Male", + "age": 89 + }, + { + "id": 665, + "firstName": "Boot", + "lastName": "Scarth", + "email": "bscarthig@cdc.gov", + "gender": "Male", + "age": 31 + }, + { + "id": 666, + "firstName": "Mariele", + "lastName": "Domokos", + "email": "mdomokosih@mapy.cz", + "gender": "Female", + "age": 73 + }, + { + "id": 667, + "firstName": "Bart", + "lastName": "Andrat", + "email": "bandratii@w3.org", + "gender": "Male", + "age": 1 + }, + { + "id": 668, + "firstName": "Basile", + "lastName": "Boud", + "email": "bboudij@sciencedirect.com", + "gender": "Male", + "age": 30 + }, + { + "id": 669, + "firstName": "Augie", + "lastName": "Skerme", + "email": "askermeik@miibeian.gov.cn", + "gender": "Male", + "age": 65 + }, + { + "id": 670, + "firstName": "Jessey", + "lastName": "Seppey", + "email": "jseppeyil@timesonline.co.uk", + "gender": "Male", + "age": 91 + }, + { + "id": 671, + "firstName": "Theodosia", + "lastName": "Hinge", + "email": "thingeim@typepad.com", + "gender": "Female", + "age": 86 + }, + { + "id": 672, + "firstName": "Ernesto", + "lastName": "Boays", + "email": "eboaysin@xinhuanet.com", + "gender": "Male", + "age": 38 + }, + { + "id": 673, + "firstName": "Merry", + "lastName": "Mechic", + "email": "mmechicio@wikipedia.org", + "gender": "Female", + "age": 68 + }, + { + "id": 674, + "firstName": "Casandra", + "lastName": "Jealous", + "email": "cjealousip@usnews.com", + "gender": "Female", + "age": 1 + }, + { + "id": 675, + "firstName": "Marian", + "lastName": "Bleibaum", + "email": "mbleibaumiq@wunderground.com", + "gender": "Female", + "age": 3 + }, + { + "id": 676, + "firstName": "Ulla", + "lastName": "Kenford", + "email": "ukenfordir@answers.com", + "gender": "Female", + "age": 11 + }, + { + "id": 677, + "firstName": "Hendrik", + "lastName": "Konertz", + "email": "hkonertzis@delicious.com", + "gender": "Male", + "age": 28 + }, + { + "id": 678, + "firstName": "Leila", + "lastName": "Ridsdell", + "email": "lridsdellit@archive.org", + "gender": "Female", + "age": 56 + }, + { + "id": 679, + "firstName": "Margarita", + "lastName": "Adelman", + "email": "madelmaniu@friendfeed.com", + "gender": "Female", + "age": 57 + }, + { + "id": 680, + "firstName": "Loella", + "lastName": "Estrella", + "email": "lestrellaiv@china.com.cn", + "gender": "Female", + "age": 88 + }, + { + "id": 681, + "firstName": "Bart", + "lastName": "Albutt", + "email": "balbuttiw@elpais.com", + "gender": "Male", + "age": 100 + }, + { + "id": 682, + "firstName": "Nevins", + "lastName": "Parram", + "email": "nparramix@live.com", + "gender": "Male", + "age": 16 + }, + { + "id": 683, + "firstName": "Brook", + "lastName": "Jellybrand", + "email": "bjellybrandiy@arizona.edu", + "gender": "Female", + "age": 28 + }, + { + "id": 684, + "firstName": "Boycey", + "lastName": "Coppledike", + "email": "bcoppledikeiz@cyberchimps.com", + "gender": "Male", + "age": 90 + }, + { + "id": 685, + "firstName": "Waldemar", + "lastName": "Baglow", + "email": "wbaglowj0@comsenz.com", + "gender": "Male", + "age": 46 + }, + { + "id": 686, + "firstName": "Tami", + "lastName": "Artis", + "email": "tartisj1@slashdot.org", + "gender": "Female", + "age": 14 + }, + { + "id": 687, + "firstName": "Dulciana", + "lastName": "O'Coskerry", + "email": "docoskerryj2@360.cn", + "gender": "Female", + "age": 46 + }, + { + "id": 688, + "firstName": "Parker", + "lastName": "Younie", + "email": "pyouniej3@diigo.com", + "gender": "Male", + "age": 92 + }, + { + "id": 689, + "firstName": "Oren", + "lastName": "De Vaux", + "email": "odevauxj4@google.nl", + "gender": "Male", + "age": 42 + }, + { + "id": 690, + "firstName": "Tracey", + "lastName": "Scare", + "email": "tscarej5@cnet.com", + "gender": "Male", + "age": 28 + }, + { + "id": 691, + "firstName": "Dare", + "lastName": "Lancley", + "email": "dlancleyj6@ameblo.jp", + "gender": "Male", + "age": 66 + }, + { + "id": 692, + "firstName": "Granthem", + "lastName": "Orrom", + "email": "gorromj7@bloglines.com", + "gender": "Male", + "age": 70 + }, + { + "id": 693, + "firstName": "Maryanne", + "lastName": "Dillestone", + "email": "mdillestonej8@shareasale.com", + "gender": "Female", + "age": 51 + }, + { + "id": 694, + "firstName": "Buddy", + "lastName": "Scrace", + "email": "bscracej9@flavors.me", + "gender": "Male", + "age": 75 + }, + { + "id": 695, + "firstName": "Arlette", + "lastName": "McBride", + "email": "amcbrideja@hexun.com", + "gender": "Female", + "age": 90 + }, + { + "id": 696, + "firstName": "Jabez", + "lastName": "Seaton", + "email": "jseatonjb@guardian.co.uk", + "gender": "Male", + "age": 21 + }, + { + "id": 697, + "firstName": "Kendal", + "lastName": "Guerreiro", + "email": "kguerreirojc@tiny.cc", + "gender": "Male", + "age": 4 + }, + { + "id": 698, + "firstName": "Bartie", + "lastName": "Seton", + "email": "bsetonjd@cnbc.com", + "gender": "Male", + "age": 54 + }, + { + "id": 699, + "firstName": "Leeland", + "lastName": "Ianilli", + "email": "lianillije@yahoo.co.jp", + "gender": "Male", + "age": 93 + }, + { + "id": 700, + "firstName": "Teresita", + "lastName": "Billsberry", + "email": "tbillsberryjf@tinyurl.com", + "gender": "Female", + "age": 58 + }, + { + "id": 701, + "firstName": "Denys", + "lastName": "Doore", + "email": "ddoorejg@slate.com", + "gender": "Male", + "age": 89 + }, + { + "id": 702, + "firstName": "Melody", + "lastName": "Neal", + "email": "mnealjh@si.edu", + "gender": "Female", + "age": 3 + }, + { + "id": 703, + "firstName": "Friedrich", + "lastName": "Turfus", + "email": "fturfusji@canalblog.com", + "gender": "Male", + "age": 32 + }, + { + "id": 704, + "firstName": "Nicolis", + "lastName": "Scottini", + "email": "nscottinijj@state.gov", + "gender": "Male", + "age": 47 + }, + { + "id": 705, + "firstName": "Milzie", + "lastName": "Circuitt", + "email": "mcircuittjk@ning.com", + "gender": "Female", + "age": 53 + }, + { + "id": 706, + "firstName": "Brandy", + "lastName": "Rumsey", + "email": "brumseyjl@wikimedia.org", + "gender": "Male", + "age": 18 + }, + { + "id": 707, + "firstName": "Abie", + "lastName": "Belmont", + "email": "abelmontjm@bbb.org", + "gender": "Male", + "age": 69 + }, + { + "id": 708, + "firstName": "Kylynn", + "lastName": "Rennolds", + "email": "krennoldsjn@cisco.com", + "gender": "Female", + "age": 75 + }, + { + "id": 709, + "firstName": "Fonz", + "lastName": "Marshland", + "email": "fmarshlandjo@wix.com", + "gender": "Male", + "age": 66 + }, + { + "id": 710, + "firstName": "Brear", + "lastName": "Huyhton", + "email": "bhuyhtonjp@marriott.com", + "gender": "Female", + "age": 36 + }, + { + "id": 711, + "firstName": "Kimberly", + "lastName": "Kilminster", + "email": "kkilminsterjq@live.com", + "gender": "Female", + "age": 8 + }, + { + "id": 712, + "firstName": "Elena", + "lastName": "Alldritt", + "email": "ealldrittjr@independent.co.uk", + "gender": "Female", + "age": 21 + }, + { + "id": 713, + "firstName": "Jody", + "lastName": "Michin", + "email": "jmichinjs@simplemachines.org", + "gender": "Male", + "age": 55 + }, + { + "id": 714, + "firstName": "Rebekah", + "lastName": "Vines", + "email": "rvinesjt@amazon.de", + "gender": "Female", + "age": 93 + }, + { + "id": 715, + "firstName": "Thorn", + "lastName": "Kelleway", + "email": "tkellewayju@cnet.com", + "gender": "Male", + "age": 43 + }, + { + "id": 716, + "firstName": "Tadeo", + "lastName": "Pears", + "email": "tpearsjv@narod.ru", + "gender": "Male", + "age": 44 + }, + { + "id": 717, + "firstName": "Alyss", + "lastName": "Alessandretti", + "email": "aalessandrettijw@tripadvisor.com", + "gender": "Female", + "age": 4 + }, + { + "id": 718, + "firstName": "Gavrielle", + "lastName": "Totman", + "email": "gtotmanjx@facebook.com", + "gender": "Female", + "age": 31 + }, + { + "id": 719, + "firstName": "Nita", + "lastName": "Barendtsen", + "email": "nbarendtsenjy@ca.gov", + "gender": "Female", + "age": 16 + }, + { + "id": 720, + "firstName": "Hy", + "lastName": "Fooks", + "email": "hfooksjz@state.tx.us", + "gender": "Male", + "age": 81 + }, + { + "id": 721, + "firstName": "Joli", + "lastName": "Blyde", + "email": "jblydek0@quantcast.com", + "gender": "Female", + "age": 45 + }, + { + "id": 722, + "firstName": "Coral", + "lastName": "Drews", + "email": "cdrewsk1@mozilla.com", + "gender": "Female", + "age": 10 + }, + { + "id": 723, + "firstName": "Ashla", + "lastName": "Meaton", + "email": "ameatonk2@xing.com", + "gender": "Female", + "age": 61 + }, + { + "id": 724, + "firstName": "Percy", + "lastName": "Gladebeck", + "email": "pgladebeckk3@smugmug.com", + "gender": "Male", + "age": 10 + }, + { + "id": 725, + "firstName": "Norrie", + "lastName": "Walewski", + "email": "nwalewskik4@cmu.edu", + "gender": "Female", + "age": 9 + }, + { + "id": 726, + "firstName": "Maxie", + "lastName": "Elesander", + "email": "melesanderk5@usnews.com", + "gender": "Male", + "age": 85 + }, + { + "id": 727, + "firstName": "Yorke", + "lastName": "Jannasch", + "email": "yjannaschk6@ebay.com", + "gender": "Male", + "age": 55 + }, + { + "id": 728, + "firstName": "Rickey", + "lastName": "Sabbin", + "email": "rsabbink7@opensource.org", + "gender": "Male", + "age": 88 + }, + { + "id": 729, + "firstName": "Torry", + "lastName": "Drowsfield", + "email": "tdrowsfieldk8@twitter.com", + "gender": "Male", + "age": 51 + }, + { + "id": 730, + "firstName": "Lyda", + "lastName": "Evanson", + "email": "levansonk9@trellian.com", + "gender": "Female", + "age": 92 + }, + { + "id": 731, + "firstName": "Valenka", + "lastName": "Clelle", + "email": "vclelleka@flickr.com", + "gender": "Female", + "age": 88 + }, + { + "id": 732, + "firstName": "Lauralee", + "lastName": "Griffoen", + "email": "lgriffoenkb@latimes.com", + "gender": "Female", + "age": 9 + }, + { + "id": 733, + "firstName": "Marlee", + "lastName": "Castane", + "email": "mcastanekc@domainmarket.com", + "gender": "Female", + "age": 31 + }, + { + "id": 734, + "firstName": "Georgi", + "lastName": "Ioannidis", + "email": "gioannidiskd@arstechnica.com", + "gender": "Male", + "age": 96 + }, + { + "id": 735, + "firstName": "Maynard", + "lastName": "Baseley", + "email": "mbaseleyke@plala.or.jp", + "gender": "Male", + "age": 91 + }, + { + "id": 736, + "firstName": "Gualterio", + "lastName": "Gonet", + "email": "ggonetkf@shinystat.com", + "gender": "Male", + "age": 42 + }, + { + "id": 737, + "firstName": "Valli", + "lastName": "Sowood", + "email": "vsowoodkg@sitemeter.com", + "gender": "Female", + "age": 95 + }, + { + "id": 738, + "firstName": "Saunder", + "lastName": "Dreghorn", + "email": "sdreghornkh@vkontakte.ru", + "gender": "Male", + "age": 17 + }, + { + "id": 739, + "firstName": "Bear", + "lastName": "Franzotto", + "email": "bfranzottoki@123-reg.co.uk", + "gender": "Male", + "age": 84 + }, + { + "id": 740, + "firstName": "Belita", + "lastName": "Drayn", + "email": "bdraynkj@wikipedia.org", + "gender": "Female", + "age": 12 + }, + { + "id": 741, + "firstName": "Nollie", + "lastName": "McCromley", + "email": "nmccromleykk@paginegialle.it", + "gender": "Male", + "age": 47 + }, + { + "id": 742, + "firstName": "Frannie", + "lastName": "Karpenya", + "email": "fkarpenyakl@ca.gov", + "gender": "Female", + "age": 5 + }, + { + "id": 743, + "firstName": "Brana", + "lastName": "Ealles", + "email": "bealleskm@ask.com", + "gender": "Female", + "age": 93 + }, + { + "id": 744, + "firstName": "Gaspard", + "lastName": "Beart", + "email": "gbeartkn@i2i.jp", + "gender": "Male", + "age": 98 + }, + { + "id": 745, + "firstName": "Sapphira", + "lastName": "Blabber", + "email": "sblabberko@jigsy.com", + "gender": "Female", + "age": 81 + }, + { + "id": 746, + "firstName": "Othilie", + "lastName": "Gieves", + "email": "ogieveskp@archive.org", + "gender": "Female", + "age": 78 + }, + { + "id": 747, + "firstName": "Kesley", + "lastName": "MacAlaster", + "email": "kmacalasterkq@umn.edu", + "gender": "Female", + "age": 93 + }, + { + "id": 748, + "firstName": "Jordan", + "lastName": "Faustin", + "email": "jfaustinkr@yale.edu", + "gender": "Female", + "age": 14 + }, + { + "id": 749, + "firstName": "Sybilla", + "lastName": "Weepers", + "email": "sweepersks@ocn.ne.jp", + "gender": "Female", + "age": 59 + }, + { + "id": 750, + "firstName": "Inesita", + "lastName": "Evert", + "email": "ievertkt@fc2.com", + "gender": "Female", + "age": 15 + }, + { + "id": 751, + "firstName": "Leanor", + "lastName": "Frandsen", + "email": "lfrandsenku@archive.org", + "gender": "Female", + "age": 43 + }, + { + "id": 752, + "firstName": "Gusta", + "lastName": "Isacsson", + "email": "gisacssonkv@alexa.com", + "gender": "Female", + "age": 96 + }, + { + "id": 753, + "firstName": "Vick", + "lastName": "Cartin", + "email": "vcartinkw@cafepress.com", + "gender": "Male", + "age": 89 + }, + { + "id": 754, + "firstName": "Vitia", + "lastName": "Simond", + "email": "vsimondkx@typepad.com", + "gender": "Female", + "age": 83 + }, + { + "id": 755, + "firstName": "Kassandra", + "lastName": "Pashenkov", + "email": "kpashenkovky@odnoklassniki.ru", + "gender": "Female", + "age": 21 + }, + { + "id": 756, + "firstName": "Thomasin", + "lastName": "Akeherst", + "email": "takeherstkz@bravesites.com", + "gender": "Female", + "age": 63 + }, + { + "id": 757, + "firstName": "Candide", + "lastName": "Coppens", + "email": "ccoppensl0@phpbb.com", + "gender": "Female", + "age": 6 + }, + { + "id": 758, + "firstName": "Earle", + "lastName": "Woodford", + "email": "ewoodfordl1@de.vu", + "gender": "Male", + "age": 63 + }, + { + "id": 759, + "firstName": "Nelson", + "lastName": "Kruschev", + "email": "nkruschevl2@patch.com", + "gender": "Male", + "age": 52 + }, + { + "id": 760, + "firstName": "Athena", + "lastName": "Gowans", + "email": "agowansl3@acquirethisname.com", + "gender": "Female", + "age": 77 + }, + { + "id": 761, + "firstName": "Leigha", + "lastName": "Franey", + "email": "lfraneyl4@tripod.com", + "gender": "Female", + "age": 79 + }, + { + "id": 762, + "firstName": "Boycey", + "lastName": "Arangy", + "email": "barangyl5@facebook.com", + "gender": "Male", + "age": 34 + }, + { + "id": 763, + "firstName": "Luca", + "lastName": "Ravenhill", + "email": "lravenhilll6@latimes.com", + "gender": "Male", + "age": 63 + }, + { + "id": 764, + "firstName": "Franzen", + "lastName": "Emmins", + "email": "femminsl7@1und1.de", + "gender": "Male", + "age": 33 + }, + { + "id": 765, + "firstName": "Camile", + "lastName": "Dubble", + "email": "cdubblel8@fotki.com", + "gender": "Female", + "age": 80 + }, + { + "id": 766, + "firstName": "Mikey", + "lastName": "Brewerton", + "email": "mbrewertonl9@nymag.com", + "gender": "Male", + "age": 21 + }, + { + "id": 767, + "firstName": "Boot", + "lastName": "Magog", + "email": "bmagogla@uiuc.edu", + "gender": "Male", + "age": 24 + }, + { + "id": 768, + "firstName": "Cordy", + "lastName": "Eastop", + "email": "ceastoplb@washington.edu", + "gender": "Male", + "age": 64 + }, + { + "id": 769, + "firstName": "Kristan", + "lastName": "Fawlo", + "email": "kfawlolc@jalbum.net", + "gender": "Female", + "age": 35 + }, + { + "id": 770, + "firstName": "Marvin", + "lastName": "De Luna", + "email": "mdelunald@desdev.cn", + "gender": "Male", + "age": 6 + }, + { + "id": 771, + "firstName": "Mariam", + "lastName": "Windsor", + "email": "mwindsorle@last.fm", + "gender": "Female", + "age": 13 + }, + { + "id": 772, + "firstName": "Linnea", + "lastName": "Horlock", + "email": "lhorlocklf@1und1.de", + "gender": "Female", + "age": 1 + }, + { + "id": 773, + "firstName": "Larina", + "lastName": "Keigher", + "email": "lkeigherlg@examiner.com", + "gender": "Female", + "age": 85 + }, + { + "id": 774, + "firstName": "Clemmie", + "lastName": "Arnecke", + "email": "carneckelh@technorati.com", + "gender": "Male", + "age": 62 + }, + { + "id": 775, + "firstName": "Mackenzie", + "lastName": "Thame", + "email": "mthameli@gnu.org", + "gender": "Male", + "age": 45 + }, + { + "id": 776, + "firstName": "Verina", + "lastName": "Clissett", + "email": "vclissettlj@hhs.gov", + "gender": "Female", + "age": 71 + }, + { + "id": 777, + "firstName": "Jeniffer", + "lastName": "Jarrett", + "email": "jjarrettlk@quantcast.com", + "gender": "Female", + "age": 69 + }, + { + "id": 778, + "firstName": "Heindrick", + "lastName": "Curr", + "email": "hcurrll@g.co", + "gender": "Male", + "age": 22 + }, + { + "id": 779, + "firstName": "Stesha", + "lastName": "Heliet", + "email": "shelietlm@goo.gl", + "gender": "Female", + "age": 26 + }, + { + "id": 780, + "firstName": "Dougie", + "lastName": "Rhyme", + "email": "drhymeln@quantcast.com", + "gender": "Male", + "age": 45 + }, + { + "id": 781, + "firstName": "Alisa", + "lastName": "Hannant", + "email": "ahannantlo@cargocollective.com", + "gender": "Female", + "age": 31 + }, + { + "id": 782, + "firstName": "Sharyl", + "lastName": "Grant", + "email": "sgrantlp@usa.gov", + "gender": "Female", + "age": 40 + }, + { + "id": 783, + "firstName": "Caresa", + "lastName": "Sherrum", + "email": "csherrumlq@china.com.cn", + "gender": "Female", + "age": 84 + }, + { + "id": 784, + "firstName": "Ainsley", + "lastName": "Hitzke", + "email": "ahitzkelr@smh.com.au", + "gender": "Female", + "age": 2 + }, + { + "id": 785, + "firstName": "Melosa", + "lastName": "Bartalot", + "email": "mbartalotls@meetup.com", + "gender": "Female", + "age": 58 + }, + { + "id": 786, + "firstName": "Shell", + "lastName": "Drawmer", + "email": "sdrawmerlt@i2i.jp", + "gender": "Female", + "age": 17 + }, + { + "id": 787, + "firstName": "Bartram", + "lastName": "Gault", + "email": "bgaultlu@icio.us", + "gender": "Male", + "age": 25 + }, + { + "id": 788, + "firstName": "Isaiah", + "lastName": "Stollsteiner", + "email": "istollsteinerlv@csmonitor.com", + "gender": "Male", + "age": 67 + }, + { + "id": 789, + "firstName": "Prissie", + "lastName": "Adamiak", + "email": "padamiaklw@rakuten.co.jp", + "gender": "Female", + "age": 64 + }, + { + "id": 790, + "firstName": "Randall", + "lastName": "Chappell", + "email": "rchappelllx@google.com", + "gender": "Male", + "age": 65 + }, + { + "id": 791, + "firstName": "Gilbertina", + "lastName": "Zmitruk", + "email": "gzmitrukly@mediafire.com", + "gender": "Female", + "age": 46 + }, + { + "id": 792, + "firstName": "Aeriel", + "lastName": "Spinley", + "email": "aspinleylz@homestead.com", + "gender": "Female", + "age": 47 + }, + { + "id": 793, + "firstName": "Verina", + "lastName": "Parysiak", + "email": "vparysiakm0@t.co", + "gender": "Female", + "age": 13 + }, + { + "id": 794, + "firstName": "Patsy", + "lastName": "Coulson", + "email": "pcoulsonm1@php.net", + "gender": "Male", + "age": 6 + }, + { + "id": 795, + "firstName": "Neron", + "lastName": "Torrejon", + "email": "ntorrejonm2@reuters.com", + "gender": "Male", + "age": 64 + }, + { + "id": 796, + "firstName": "Kristopher", + "lastName": "Nutman", + "email": "knutmanm3@weather.com", + "gender": "Male", + "age": 54 + }, + { + "id": 797, + "firstName": "Emlen", + "lastName": "Sapir", + "email": "esapirm4@icio.us", + "gender": "Male", + "age": 1 + }, + { + "id": 798, + "firstName": "Corinna", + "lastName": "Shelford", + "email": "cshelfordm5@bloglines.com", + "gender": "Female", + "age": 73 + }, + { + "id": 799, + "firstName": "Lucho", + "lastName": "Grimsell", + "email": "lgrimsellm6@gravatar.com", + "gender": "Male", + "age": 24 + }, + { + "id": 800, + "firstName": "Kevan", + "lastName": "Collumbine", + "email": "kcollumbinem7@spotify.com", + "gender": "Male", + "age": 99 + }, + { + "id": 801, + "firstName": "Shamus", + "lastName": "Weagener", + "email": "sweagenerm8@infoseek.co.jp", + "gender": "Male", + "age": 68 + }, + { + "id": 802, + "firstName": "Blake", + "lastName": "Pittham", + "email": "bpitthamm9@taobao.com", + "gender": "Male", + "age": 8 + }, + { + "id": 803, + "firstName": "Ernest", + "lastName": "Alker", + "email": "ealkerma@i2i.jp", + "gender": "Male", + "age": 77 + }, + { + "id": 804, + "firstName": "Dino", + "lastName": "Dooland", + "email": "ddoolandmb@webnode.com", + "gender": "Male", + "age": 47 + }, + { + "id": 805, + "firstName": "Ilene", + "lastName": "Purviss", + "email": "ipurvissmc@samsung.com", + "gender": "Female", + "age": 25 + }, + { + "id": 806, + "firstName": "Felicdad", + "lastName": "Squibbs", + "email": "fsquibbsmd@house.gov", + "gender": "Female", + "age": 89 + }, + { + "id": 807, + "firstName": "Crichton", + "lastName": "Speake", + "email": "cspeakeme@harvard.edu", + "gender": "Male", + "age": 92 + }, + { + "id": 808, + "firstName": "Montague", + "lastName": "Fitzmaurice", + "email": "mfitzmauricemf@webmd.com", + "gender": "Male", + "age": 4 + }, + { + "id": 809, + "firstName": "Nanette", + "lastName": "Astill", + "email": "nastillmg@who.int", + "gender": "Female", + "age": 67 + }, + { + "id": 810, + "firstName": "Fedora", + "lastName": "Girone", + "email": "fgironemh@statcounter.com", + "gender": "Female", + "age": 10 + }, + { + "id": 811, + "firstName": "Claiborne", + "lastName": "Satterly", + "email": "csatterlymi@hatena.ne.jp", + "gender": "Male", + "age": 44 + }, + { + "id": 812, + "firstName": "Kylynn", + "lastName": "Lansley", + "email": "klansleymj@digg.com", + "gender": "Female", + "age": 83 + }, + { + "id": 813, + "firstName": "Rebekkah", + "lastName": "Whelband", + "email": "rwhelbandmk@opera.com", + "gender": "Female", + "age": 59 + }, + { + "id": 814, + "firstName": "Lauren", + "lastName": "Verey", + "email": "lvereyml@comsenz.com", + "gender": "Male", + "age": 64 + }, + { + "id": 815, + "firstName": "Claybourne", + "lastName": "Warwicker", + "email": "cwarwickermm@guardian.co.uk", + "gender": "Male", + "age": 59 + }, + { + "id": 816, + "firstName": "Dre", + "lastName": "Brigman", + "email": "dbrigmanmn@economist.com", + "gender": "Female", + "age": 92 + }, + { + "id": 817, + "firstName": "Rozina", + "lastName": "Trymme", + "email": "rtrymmemo@free.fr", + "gender": "Female", + "age": 82 + }, + { + "id": 818, + "firstName": "Elka", + "lastName": "Keoghane", + "email": "ekeoghanemp@redcross.org", + "gender": "Female", + "age": 60 + }, + { + "id": 819, + "firstName": "Adi", + "lastName": "Fife", + "email": "afifemq@webeden.co.uk", + "gender": "Female", + "age": 99 + }, + { + "id": 820, + "firstName": "Elwin", + "lastName": "Fenimore", + "email": "efenimoremr@diigo.com", + "gender": "Male", + "age": 87 + }, + { + "id": 821, + "firstName": "Everett", + "lastName": "Maling", + "email": "emalingms@upenn.edu", + "gender": "Male", + "age": 84 + }, + { + "id": 822, + "firstName": "Trix", + "lastName": "Redmond", + "email": "tredmondmt@wordpress.org", + "gender": "Female", + "age": 6 + }, + { + "id": 823, + "firstName": "Larry", + "lastName": "Stickells", + "email": "lstickellsmu@angelfire.com", + "gender": "Male", + "age": 27 + }, + { + "id": 824, + "firstName": "Ferd", + "lastName": "Wallas", + "email": "fwallasmv@dedecms.com", + "gender": "Male", + "age": 85 + }, + { + "id": 825, + "firstName": "Tamarra", + "lastName": "Clemes", + "email": "tclemesmw@parallels.com", + "gender": "Female", + "age": 52 + }, + { + "id": 826, + "firstName": "Baldwin", + "lastName": "Zieme", + "email": "bziememx@symantec.com", + "gender": "Male", + "age": 26 + }, + { + "id": 827, + "firstName": "Fredelia", + "lastName": "Chesterman", + "email": "fchestermanmy@bbb.org", + "gender": "Female", + "age": 45 + }, + { + "id": 828, + "firstName": "Tandie", + "lastName": "O'Haire", + "email": "tohairemz@phoca.cz", + "gender": "Female", + "age": 10 + }, + { + "id": 829, + "firstName": "Jule", + "lastName": "McKniely", + "email": "jmcknielyn0@usda.gov", + "gender": "Male", + "age": 56 + }, + { + "id": 830, + "firstName": "Jerri", + "lastName": "Whitfeld", + "email": "jwhitfeldn1@wikia.com", + "gender": "Male", + "age": 53 + }, + { + "id": 831, + "firstName": "Griz", + "lastName": "Tabary", + "email": "gtabaryn2@mtv.com", + "gender": "Male", + "age": 2 + }, + { + "id": 832, + "firstName": "Jennifer", + "lastName": "Barrett", + "email": "jbarrettn3@edublogs.org", + "gender": "Female", + "age": 94 + }, + { + "id": 833, + "firstName": "Earvin", + "lastName": "Cheetam", + "email": "echeetamn4@elegantthemes.com", + "gender": "Male", + "age": 56 + }, + { + "id": 834, + "firstName": "Malvin", + "lastName": "Mannock", + "email": "mmannockn5@about.me", + "gender": "Male", + "age": 30 + }, + { + "id": 835, + "firstName": "Orren", + "lastName": "Banke", + "email": "obanken6@examiner.com", + "gender": "Male", + "age": 86 + }, + { + "id": 836, + "firstName": "Chandler", + "lastName": "Milburne", + "email": "cmilburnen7@flickr.com", + "gender": "Male", + "age": 47 + }, + { + "id": 837, + "firstName": "Susann", + "lastName": "Godspeede", + "email": "sgodspeeden8@stanford.edu", + "gender": "Female", + "age": 84 + }, + { + "id": 838, + "firstName": "Evyn", + "lastName": "Ubsdale", + "email": "eubsdalen9@amazon.co.uk", + "gender": "Male", + "age": 61 + }, + { + "id": 839, + "firstName": "Krystle", + "lastName": "Dowthwaite", + "email": "kdowthwaitena@google.fr", + "gender": "Female", + "age": 43 + }, + { + "id": 840, + "firstName": "Cornelia", + "lastName": "Causier", + "email": "ccausiernb@twitpic.com", + "gender": "Female", + "age": 40 + }, + { + "id": 841, + "firstName": "Irvine", + "lastName": "Eddisforth", + "email": "ieddisforthnc@jiathis.com", + "gender": "Male", + "age": 68 + }, + { + "id": 842, + "firstName": "Luciano", + "lastName": "Dablin", + "email": "ldablinnd@elpais.com", + "gender": "Male", + "age": 3 + }, + { + "id": 843, + "firstName": "Harriet", + "lastName": "Moss", + "email": "hmossne@loc.gov", + "gender": "Female", + "age": 30 + }, + { + "id": 844, + "firstName": "Heather", + "lastName": "Cowherd", + "email": "hcowherdnf@bloglovin.com", + "gender": "Female", + "age": 77 + }, + { + "id": 845, + "firstName": "Jaime", + "lastName": "Josephov", + "email": "jjosephovng@usgs.gov", + "gender": "Female", + "age": 89 + }, + { + "id": 846, + "firstName": "Sayres", + "lastName": "O' Neligan", + "email": "soneligannh@npr.org", + "gender": "Male", + "age": 16 + }, + { + "id": 847, + "firstName": "Georgine", + "lastName": "Freeman", + "email": "gfreemanni@quantcast.com", + "gender": "Female", + "age": 14 + }, + { + "id": 848, + "firstName": "Eadmund", + "lastName": "Gert", + "email": "egertnj@tripod.com", + "gender": "Male", + "age": 95 + }, + { + "id": 849, + "firstName": "Hervey", + "lastName": "Huffa", + "email": "hhuffank@apple.com", + "gender": "Male", + "age": 67 + }, + { + "id": 850, + "firstName": "Parsifal", + "lastName": "Bleeze", + "email": "pbleezenl@tiny.cc", + "gender": "Male", + "age": 52 + }, + { + "id": 851, + "firstName": "Daisi", + "lastName": "Kubu", + "email": "dkubunm@about.com", + "gender": "Female", + "age": 98 + }, + { + "id": 852, + "firstName": "Katharina", + "lastName": "Le Brun", + "email": "klebrunnn@mayoclinic.com", + "gender": "Female", + "age": 45 + }, + { + "id": 853, + "firstName": "Val", + "lastName": "Gammons", + "email": "vgammonsno@imageshack.us", + "gender": "Female", + "age": 45 + }, + { + "id": 854, + "firstName": "Barr", + "lastName": "Skirvin", + "email": "bskirvinnp@wisc.edu", + "gender": "Male", + "age": 11 + }, + { + "id": 855, + "firstName": "Miltie", + "lastName": "Riglar", + "email": "mriglarnq@zimbio.com", + "gender": "Male", + "age": 92 + }, + { + "id": 856, + "firstName": "Nadya", + "lastName": "Parnell", + "email": "nparnellnr@merriam-webster.com", + "gender": "Female", + "age": 83 + }, + { + "id": 857, + "firstName": "Russell", + "lastName": "Nevins", + "email": "rnevinsns@hostgator.com", + "gender": "Male", + "age": 81 + }, + { + "id": 858, + "firstName": "Maire", + "lastName": "Klewi", + "email": "mklewint@ycombinator.com", + "gender": "Female", + "age": 43 + }, + { + "id": 859, + "firstName": "Vania", + "lastName": "McNirlan", + "email": "vmcnirlannu@google.ca", + "gender": "Female", + "age": 15 + }, + { + "id": 860, + "firstName": "Gavin", + "lastName": "Asbrey", + "email": "gasbreynv@youtu.be", + "gender": "Male", + "age": 88 + }, + { + "id": 861, + "firstName": "Frazier", + "lastName": "O'Gavin", + "email": "fogavinnw@friendfeed.com", + "gender": "Male", + "age": 38 + }, + { + "id": 862, + "firstName": "Salim", + "lastName": "Silvester", + "email": "ssilvesternx@ca.gov", + "gender": "Male", + "age": 72 + }, + { + "id": 863, + "firstName": "Bartholomew", + "lastName": "Meale", + "email": "bmealeny@alexa.com", + "gender": "Male", + "age": 98 + }, + { + "id": 864, + "firstName": "Stanislaus", + "lastName": "Winwood", + "email": "swinwoodnz@privacy.gov.au", + "gender": "Male", + "age": 28 + }, + { + "id": 865, + "firstName": "Hobie", + "lastName": "Kite", + "email": "hkiteo0@hc360.com", + "gender": "Male", + "age": 39 + }, + { + "id": 866, + "firstName": "Zack", + "lastName": "Dybald", + "email": "zdybaldo1@meetup.com", + "gender": "Male", + "age": 2 + }, + { + "id": 867, + "firstName": "Jordanna", + "lastName": "Dowling", + "email": "jdowlingo2@quantcast.com", + "gender": "Female", + "age": 58 + }, + { + "id": 868, + "firstName": "Ashla", + "lastName": "Skinner", + "email": "askinnero3@bizjournals.com", + "gender": "Female", + "age": 2 + }, + { + "id": 869, + "firstName": "Norman", + "lastName": "Kenway", + "email": "nkenwayo4@eventbrite.com", + "gender": "Male", + "age": 41 + }, + { + "id": 870, + "firstName": "Padget", + "lastName": "Goracci", + "email": "pgoraccio5@cocolog-nifty.com", + "gender": "Male", + "age": 28 + }, + { + "id": 871, + "firstName": "Wiley", + "lastName": "Dominy", + "email": "wdominyo6@reddit.com", + "gender": "Male", + "age": 1 + }, + { + "id": 872, + "firstName": "Dulce", + "lastName": "McCallister", + "email": "dmccallistero7@aboutads.info", + "gender": "Female", + "age": 6 + }, + { + "id": 873, + "firstName": "Alvan", + "lastName": "Makepeace", + "email": "amakepeaceo8@eepurl.com", + "gender": "Male", + "age": 49 + }, + { + "id": 874, + "firstName": "Wilbert", + "lastName": "Dockrey", + "email": "wdockreyo9@foxnews.com", + "gender": "Male", + "age": 50 + }, + { + "id": 875, + "firstName": "Jada", + "lastName": "Tunnick", + "email": "jtunnickoa@yelp.com", + "gender": "Female", + "age": 32 + }, + { + "id": 876, + "firstName": "Leann", + "lastName": "Jankin", + "email": "ljankinob@soup.io", + "gender": "Female", + "age": 22 + }, + { + "id": 877, + "firstName": "Mandi", + "lastName": "Tennet", + "email": "mtennetoc@alibaba.com", + "gender": "Female", + "age": 8 + }, + { + "id": 878, + "firstName": "Maire", + "lastName": "Clowney", + "email": "mclowneyod@bluehost.com", + "gender": "Female", + "age": 21 + }, + { + "id": 879, + "firstName": "Selia", + "lastName": "McMenamy", + "email": "smcmenamyoe@sohu.com", + "gender": "Female", + "age": 10 + }, + { + "id": 880, + "firstName": "Ford", + "lastName": "Wrotham", + "email": "fwrothamof@webs.com", + "gender": "Male", + "age": 69 + }, + { + "id": 881, + "firstName": "Kimball", + "lastName": "Ayliff", + "email": "kayliffog@rambler.ru", + "gender": "Male", + "age": 78 + }, + { + "id": 882, + "firstName": "Eal", + "lastName": "Henric", + "email": "ehenricoh@pcworld.com", + "gender": "Male", + "age": 44 + }, + { + "id": 883, + "firstName": "Marie-jeanne", + "lastName": "Cirlos", + "email": "mcirlosoi@tuttocitta.it", + "gender": "Female", + "age": 34 + }, + { + "id": 884, + "firstName": "Jameson", + "lastName": "Carslake", + "email": "jcarslakeoj@nydailynews.com", + "gender": "Male", + "age": 68 + }, + { + "id": 885, + "firstName": "Rianon", + "lastName": "Scriven", + "email": "rscrivenok@amazon.com", + "gender": "Female", + "age": 25 + }, + { + "id": 886, + "firstName": "Nathanial", + "lastName": "Killshaw", + "email": "nkillshawol@europa.eu", + "gender": "Male", + "age": 92 + }, + { + "id": 887, + "firstName": "Dacie", + "lastName": "Bakesef", + "email": "dbakesefom@freewebs.com", + "gender": "Female", + "age": 84 + }, + { + "id": 888, + "firstName": "Arny", + "lastName": "Sarten", + "email": "asartenon@1688.com", + "gender": "Male", + "age": 66 + }, + { + "id": 889, + "firstName": "Marion", + "lastName": "Windaybank", + "email": "mwindaybankoo@i2i.jp", + "gender": "Male", + "age": 37 + }, + { + "id": 890, + "firstName": "Jacky", + "lastName": "Shirtliff", + "email": "jshirtliffop@npr.org", + "gender": "Male", + "age": 34 + }, + { + "id": 891, + "firstName": "Gratia", + "lastName": "Ert", + "email": "gertoq@bravesites.com", + "gender": "Female", + "age": 94 + }, + { + "id": 892, + "firstName": "Conn", + "lastName": "Piatto", + "email": "cpiattoor@tinyurl.com", + "gender": "Male", + "age": 49 + }, + { + "id": 893, + "firstName": "Morse", + "lastName": "Dunn", + "email": "mdunnos@github.io", + "gender": "Male", + "age": 69 + }, + { + "id": 894, + "firstName": "Pauline", + "lastName": "Eady", + "email": "peadyot@discuz.net", + "gender": "Female", + "age": 30 + }, + { + "id": 895, + "firstName": "Helen-elizabeth", + "lastName": "Vernay", + "email": "hvernayou@ucla.edu", + "gender": "Female", + "age": 40 + }, + { + "id": 896, + "firstName": "Roslyn", + "lastName": "Addinall", + "email": "raddinallov@usnews.com", + "gender": "Female", + "age": 48 + }, + { + "id": 897, + "firstName": "Kaja", + "lastName": "Meece", + "email": "kmeeceow@marketwatch.com", + "gender": "Female", + "age": 21 + }, + { + "id": 898, + "firstName": "Issiah", + "lastName": "Eskrigg", + "email": "ieskriggox@noaa.gov", + "gender": "Male", + "age": 99 + }, + { + "id": 899, + "firstName": "Dennet", + "lastName": "Wankel", + "email": "dwankeloy@answers.com", + "gender": "Male", + "age": 33 + }, + { + "id": 900, + "firstName": "Malva", + "lastName": "Nash", + "email": "mnashoz@google.nl", + "gender": "Female", + "age": 3 + }, + { + "id": 901, + "firstName": "Eda", + "lastName": "Sherme", + "email": "eshermep0@state.tx.us", + "gender": "Female", + "age": 49 + }, + { + "id": 902, + "firstName": "Spike", + "lastName": "Dewdney", + "email": "sdewdneyp1@webnode.com", + "gender": "Male", + "age": 34 + }, + { + "id": 903, + "firstName": "Katya", + "lastName": "Hounsome", + "email": "khounsomep2@loc.gov", + "gender": "Female", + "age": 97 + }, + { + "id": 904, + "firstName": "Miguelita", + "lastName": "Alfonsini", + "email": "malfonsinip3@loc.gov", + "gender": "Female", + "age": 54 + }, + { + "id": 905, + "firstName": "Berke", + "lastName": "Romayne", + "email": "bromaynep4@a8.net", + "gender": "Male", + "age": 41 + }, + { + "id": 906, + "firstName": "Web", + "lastName": "Huskinson", + "email": "whuskinsonp5@tiny.cc", + "gender": "Male", + "age": 28 + }, + { + "id": 907, + "firstName": "Chelsea", + "lastName": "Yegorev", + "email": "cyegorevp6@baidu.com", + "gender": "Female", + "age": 52 + }, + { + "id": 908, + "firstName": "Orlan", + "lastName": "Antonucci", + "email": "oantonuccip7@google.com.br", + "gender": "Male", + "age": 11 + }, + { + "id": 909, + "firstName": "Zack", + "lastName": "Prando", + "email": "zprandop8@opensource.org", + "gender": "Male", + "age": 25 + }, + { + "id": 910, + "firstName": "Roderigo", + "lastName": "Copyn", + "email": "rcopynp9@webeden.co.uk", + "gender": "Male", + "age": 62 + }, + { + "id": 911, + "firstName": "Fanchon", + "lastName": "Itskovitz", + "email": "fitskovitzpa@moonfruit.com", + "gender": "Female", + "age": 28 + }, + { + "id": 912, + "firstName": "Silvain", + "lastName": "Pirie", + "email": "spiriepb@mac.com", + "gender": "Male", + "age": 4 + }, + { + "id": 913, + "firstName": "Edgar", + "lastName": "Aymes", + "email": "eaymespc@mapy.cz", + "gender": "Male", + "age": 94 + }, + { + "id": 914, + "firstName": "Stanislaw", + "lastName": "Clear", + "email": "sclearpd@elegantthemes.com", + "gender": "Male", + "age": 46 + }, + { + "id": 915, + "firstName": "Gusta", + "lastName": "Girdlestone", + "email": "ggirdlestonepe@cornell.edu", + "gender": "Female", + "age": 2 + }, + { + "id": 916, + "firstName": "Hurley", + "lastName": "Frie", + "email": "hfriepf@vimeo.com", + "gender": "Male", + "age": 27 + }, + { + "id": 917, + "firstName": "Olav", + "lastName": "Venes", + "email": "ovenespg@com.com", + "gender": "Male", + "age": 15 + }, + { + "id": 918, + "firstName": "Sheila-kathryn", + "lastName": "Mateo", + "email": "smateoph@washingtonpost.com", + "gender": "Female", + "age": 8 + }, + { + "id": 919, + "firstName": "Xena", + "lastName": "Yarnley", + "email": "xyarnleypi@edublogs.org", + "gender": "Female", + "age": 96 + }, + { + "id": 920, + "firstName": "Rodrigo", + "lastName": "Thomassen", + "email": "rthomassenpj@blogtalkradio.com", + "gender": "Male", + "age": 69 + }, + { + "id": 921, + "firstName": "Krystle", + "lastName": "Chiddy", + "email": "kchiddypk@qq.com", + "gender": "Female", + "age": 3 + }, + { + "id": 922, + "firstName": "Gladys", + "lastName": "O'Dyvoy", + "email": "godyvoypl@japanpost.jp", + "gender": "Female", + "age": 35 + }, + { + "id": 923, + "firstName": "Herold", + "lastName": "Swaysland", + "email": "hswayslandpm@auda.org.au", + "gender": "Male", + "age": 4 + }, + { + "id": 924, + "firstName": "Ewen", + "lastName": "Hulls", + "email": "ehullspn@opensource.org", + "gender": "Male", + "age": 95 + }, + { + "id": 925, + "firstName": "Wang", + "lastName": "Tinklin", + "email": "wtinklinpo@jimdo.com", + "gender": "Male", + "age": 37 + }, + { + "id": 926, + "firstName": "Engelbert", + "lastName": "McMyler", + "email": "emcmylerpp@dmoz.org", + "gender": "Male", + "age": 18 + }, + { + "id": 927, + "firstName": "Kristofer", + "lastName": "Hastelow", + "email": "khastelowpq@smugmug.com", + "gender": "Male", + "age": 44 + }, + { + "id": 928, + "firstName": "Stuart", + "lastName": "Mangam", + "email": "smangampr@biglobe.ne.jp", + "gender": "Male", + "age": 68 + }, + { + "id": 929, + "firstName": "Germana", + "lastName": "Wilcher", + "email": "gwilcherps@elegantthemes.com", + "gender": "Female", + "age": 25 + }, + { + "id": 930, + "firstName": "Graeme", + "lastName": "Pidgeley", + "email": "gpidgeleypt@sogou.com", + "gender": "Male", + "age": 58 + }, + { + "id": 931, + "firstName": "Charles", + "lastName": "Jeary", + "email": "cjearypu@people.com.cn", + "gender": "Male", + "age": 57 + }, + { + "id": 932, + "firstName": "Mercedes", + "lastName": "Lemmers", + "email": "mlemmerspv@dedecms.com", + "gender": "Female", + "age": 73 + }, + { + "id": 933, + "firstName": "Nickolas", + "lastName": "Dowthwaite", + "email": "ndowthwaitepw@diigo.com", + "gender": "Male", + "age": 15 + }, + { + "id": 934, + "firstName": "Quill", + "lastName": "Daniau", + "email": "qdaniaupx@github.io", + "gender": "Male", + "age": 1 + }, + { + "id": 935, + "firstName": "Edna", + "lastName": "Heller", + "email": "ehellerpy@furl.net", + "gender": "Female", + "age": 61 + }, + { + "id": 936, + "firstName": "Leandra", + "lastName": "Ivic", + "email": "livicpz@vkontakte.ru", + "gender": "Female", + "age": 72 + }, + { + "id": 937, + "firstName": "Chaddy", + "lastName": "Spaducci", + "email": "cspaducciq0@free.fr", + "gender": "Male", + "age": 46 + }, + { + "id": 938, + "firstName": "Ring", + "lastName": "Bradock", + "email": "rbradockq1@gizmodo.com", + "gender": "Male", + "age": 57 + }, + { + "id": 939, + "firstName": "Wolfie", + "lastName": "Nayer", + "email": "wnayerq2@msn.com", + "gender": "Male", + "age": 47 + }, + { + "id": 940, + "firstName": "Marta", + "lastName": "Muehle", + "email": "mmuehleq3@vistaprint.com", + "gender": "Female", + "age": 52 + }, + { + "id": 941, + "firstName": "Martino", + "lastName": "Paintain", + "email": "mpaintainq4@diigo.com", + "gender": "Male", + "age": 45 + }, + { + "id": 942, + "firstName": "Odey", + "lastName": "Oxshott", + "email": "ooxshottq5@imageshack.us", + "gender": "Male", + "age": 26 + }, + { + "id": 943, + "firstName": "Sheba", + "lastName": "Pelos", + "email": "spelosq6@wisc.edu", + "gender": "Female", + "age": 21 + }, + { + "id": 944, + "firstName": "Dougy", + "lastName": "Rawcliffe", + "email": "drawcliffeq7@flickr.com", + "gender": "Male", + "age": 61 + }, + { + "id": 945, + "firstName": "George", + "lastName": "Barwis", + "email": "gbarwisq8@pagesperso-orange.fr", + "gender": "Female", + "age": 17 + }, + { + "id": 946, + "firstName": "Clari", + "lastName": "Prati", + "email": "cpratiq9@nih.gov", + "gender": "Female", + "age": 50 + }, + { + "id": 947, + "firstName": "Sherwin", + "lastName": "Buchan", + "email": "sbuchanqa@drupal.org", + "gender": "Male", + "age": 64 + }, + { + "id": 948, + "firstName": "Ginnifer", + "lastName": "Kettoe", + "email": "gkettoeqb@uol.com.br", + "gender": "Female", + "age": 99 + }, + { + "id": 949, + "firstName": "Garrett", + "lastName": "Kirk", + "email": "gkirkqc@uiuc.edu", + "gender": "Male", + "age": 38 + }, + { + "id": 950, + "firstName": "Retha", + "lastName": "Janman", + "email": "rjanmanqd@ameblo.jp", + "gender": "Female", + "age": 40 + }, + { + "id": 951, + "firstName": "Janos", + "lastName": "Winyard", + "email": "jwinyardqe@google.nl", + "gender": "Male", + "age": 94 + }, + { + "id": 952, + "firstName": "Tania", + "lastName": "Nathan", + "email": "tnathanqf@i2i.jp", + "gender": "Female", + "age": 27 + }, + { + "id": 953, + "firstName": "Denney", + "lastName": "De Gowe", + "email": "ddegoweqg@nhs.uk", + "gender": "Male", + "age": 78 + }, + { + "id": 954, + "firstName": "Giffer", + "lastName": "Patington", + "email": "gpatingtonqh@ning.com", + "gender": "Male", + "age": 83 + }, + { + "id": 955, + "firstName": "Mano", + "lastName": "Harriss", + "email": "mharrissqi@ucsd.edu", + "gender": "Male", + "age": 65 + }, + { + "id": 956, + "firstName": "Maxwell", + "lastName": "Whitnall", + "email": "mwhitnallqj@buzzfeed.com", + "gender": "Male", + "age": 88 + }, + { + "id": 957, + "firstName": "Lib", + "lastName": "Coulsen", + "email": "lcoulsenqk@shinystat.com", + "gender": "Female", + "age": 48 + }, + { + "id": 958, + "firstName": "Lily", + "lastName": "Leaney", + "email": "lleaneyql@yelp.com", + "gender": "Female", + "age": 27 + }, + { + "id": 959, + "firstName": "Corene", + "lastName": "Powner", + "email": "cpownerqm@eventbrite.com", + "gender": "Female", + "age": 61 + }, + { + "id": 960, + "firstName": "Gawen", + "lastName": "Karran", + "email": "gkarranqn@businessinsider.com", + "gender": "Male", + "age": 70 + }, + { + "id": 961, + "firstName": "Georgette", + "lastName": "Daniello", + "email": "gdanielloqo@eepurl.com", + "gender": "Female", + "age": 29 + }, + { + "id": 962, + "firstName": "Webb", + "lastName": "Gawen", + "email": "wgawenqp@freewebs.com", + "gender": "Male", + "age": 23 + }, + { + "id": 963, + "firstName": "Ray", + "lastName": "Tampling", + "email": "rtamplingqq@state.tx.us", + "gender": "Female", + "age": 27 + }, + { + "id": 964, + "firstName": "Ardelia", + "lastName": "Sloss", + "email": "aslossqr@a8.net", + "gender": "Female", + "age": 25 + }, + { + "id": 965, + "firstName": "Christel", + "lastName": "Nears", + "email": "cnearsqs@japanpost.jp", + "gender": "Female", + "age": 88 + }, + { + "id": 966, + "firstName": "Brinna", + "lastName": "Ratcliff", + "email": "bratcliffqt@harvard.edu", + "gender": "Female", + "age": 11 + }, + { + "id": 967, + "firstName": "Clayton", + "lastName": "Bendell", + "email": "cbendellqu@about.me", + "gender": "Male", + "age": 35 + }, + { + "id": 968, + "firstName": "Berni", + "lastName": "Josse", + "email": "bjosseqv@vkontakte.ru", + "gender": "Female", + "age": 21 + }, + { + "id": 969, + "firstName": "Zach", + "lastName": "Carberry", + "email": "zcarberryqw@ezinearticles.com", + "gender": "Male", + "age": 92 + }, + { + "id": 970, + "firstName": "Shermie", + "lastName": "Turney", + "email": "sturneyqx@cnn.com", + "gender": "Male", + "age": 78 + }, + { + "id": 971, + "firstName": "Mozes", + "lastName": "Morritt", + "email": "mmorrittqy@unesco.org", + "gender": "Male", + "age": 14 + }, + { + "id": 972, + "firstName": "Revkah", + "lastName": "Tuffs", + "email": "rtuffsqz@alexa.com", + "gender": "Female", + "age": 86 + }, + { + "id": 973, + "firstName": "Kerri", + "lastName": "McCague", + "email": "kmccaguer0@timesonline.co.uk", + "gender": "Female", + "age": 41 + }, + { + "id": 974, + "firstName": "Mersey", + "lastName": "Howatt", + "email": "mhowattr1@behance.net", + "gender": "Female", + "age": 89 + }, + { + "id": 975, + "firstName": "Kip", + "lastName": "Dugmore", + "email": "kdugmorer2@mysql.com", + "gender": "Male", + "age": 57 + }, + { + "id": 976, + "firstName": "Jarad", + "lastName": "Ruffell", + "email": "jruffellr3@npr.org", + "gender": "Male", + "age": 96 + }, + { + "id": 977, + "firstName": "Nikos", + "lastName": "Jacqueminot", + "email": "njacqueminotr4@oaic.gov.au", + "gender": "Male", + "age": 91 + }, + { + "id": 978, + "firstName": "Ainsley", + "lastName": "Dorrington", + "email": "adorringtonr5@uol.com.br", + "gender": "Female", + "age": 13 + }, + { + "id": 979, + "firstName": "Alasdair", + "lastName": "Chittey", + "email": "achitteyr6@sohu.com", + "gender": "Male", + "age": 29 + }, + { + "id": 980, + "firstName": "Odetta", + "lastName": "Heiton", + "email": "oheitonr7@netlog.com", + "gender": "Female", + "age": 38 + }, + { + "id": 981, + "firstName": "Sharyl", + "lastName": "Buttriss", + "email": "sbuttrissr8@lycos.com", + "gender": "Female", + "age": 89 + }, + { + "id": 982, + "firstName": "Noelle", + "lastName": "Domleo", + "email": "ndomleor9@phoca.cz", + "gender": "Female", + "age": 88 + }, + { + "id": 983, + "firstName": "Howard", + "lastName": "Patrick", + "email": "hpatrickra@macromedia.com", + "gender": "Male", + "age": 68 + }, + { + "id": 984, + "firstName": "Thom", + "lastName": "Spragg", + "email": "tspraggrb@wordpress.org", + "gender": "Male", + "age": 52 + }, + { + "id": 985, + "firstName": "Nonie", + "lastName": "Goodfield", + "email": "ngoodfieldrc@weather.com", + "gender": "Female", + "age": 30 + }, + { + "id": 986, + "firstName": "Antoinette", + "lastName": "MacCambridge", + "email": "amaccambridgerd@house.gov", + "gender": "Female", + "age": 11 + }, + { + "id": 987, + "firstName": "Cicily", + "lastName": "Kemish", + "email": "ckemishre@dedecms.com", + "gender": "Female", + "age": 66 + }, + { + "id": 988, + "firstName": "Denver", + "lastName": "Puddicombe", + "email": "dpuddicomberf@digg.com", + "gender": "Male", + "age": 10 + }, + { + "id": 989, + "firstName": "Walther", + "lastName": "Leatt", + "email": "wleattrg@howstuffworks.com", + "gender": "Male", + "age": 87 + }, + { + "id": 990, + "firstName": "Skyler", + "lastName": "Learmond", + "email": "slearmondrh@dion.ne.jp", + "gender": "Male", + "age": 68 + }, + { + "id": 991, + "firstName": "Bella", + "lastName": "Argontt", + "email": "bargonttri@ow.ly", + "gender": "Female", + "age": 46 + }, + { + "id": 992, + "firstName": "Maurizia", + "lastName": "Crosskell", + "email": "mcrosskellrj@nydailynews.com", + "gender": "Female", + "age": 61 + }, + { + "id": 993, + "firstName": "Thornie", + "lastName": "Grabban", + "email": "tgrabbanrk@about.com", + "gender": "Male", + "age": 13 + }, + { + "id": 994, + "firstName": "Edy", + "lastName": "Rahl", + "email": "erahlrl@hud.gov", + "gender": "Female", + "age": 51 + }, + { + "id": 995, + "firstName": "Phillie", + "lastName": "Baldwin", + "email": "pbaldwinrm@cnbc.com", + "gender": "Female", + "age": 47 + }, + { + "id": 996, + "firstName": "Lin", + "lastName": "Cruise", + "email": "lcruisern@goo.ne.jp", + "gender": "Male", + "age": 79 + }, + { + "id": 997, + "firstName": "Hendrika", + "lastName": "Dibdale", + "email": "hdibdalero@apache.org", + "gender": "Female", + "age": 86 + }, + { + "id": 998, + "firstName": "Deeann", + "lastName": "Petrik", + "email": "dpetrikrp@china.com.cn", + "gender": "Female", + "age": 8 + }, + { + "id": 999, + "firstName": "Laughton", + "lastName": "Ghent", + "email": "lghentrq@psu.edu", + "gender": "Male", + "age": 77 + }, + { + "id": 1000, + "firstName": "Ruthi", + "lastName": "Pollastrino", + "email": "rpollastrinorr@wiley.com", + "gender": "Female", + "age": 90 + } +] \ No newline at end of file diff --git a/modern-java8/gradle.properties b/modern-java8/gradle.properties index 265dd32..4afa434 100644 --- a/modern-java8/gradle.properties +++ b/modern-java8/gradle.properties @@ -8,4 +8,4 @@ lombookVersion=1.18.20 assertJVersion=3.19.0 #Constant for projects, all below are for plugins version and build -javaVersion=11 \ No newline at end of file +javaVersion=17.0.1 \ No newline at end of file diff --git a/modern-java8/src/main/java/com/pratap/comparision/Main.java b/modern-java8/src/main/java/com/pratap/comparision/Main.java index fa746c4..7ba2920 100644 --- a/modern-java8/src/main/java/com/pratap/comparision/Main.java +++ b/modern-java8/src/main/java/com/pratap/comparision/Main.java @@ -20,7 +20,7 @@ public static void main(String[] args) { Comparator brandComparator = (l1, l2) -> { return l1.getBrand().compareTo(l2.getBrand()); }; - Collections.sort(laptops, brandComparator); - laptops.stream().forEach(System.out::println); + laptops.sort(brandComparator); + laptops.forEach(System.out::println); } } diff --git a/modern-java8/src/main/java/com/pratap/java/inheritance/InheritanceTest01.java b/modern-java8/src/main/java/com/pratap/java/inheritance/InheritanceTest01.java new file mode 100644 index 0000000..dbf6b6c --- /dev/null +++ b/modern-java8/src/main/java/com/pratap/java/inheritance/InheritanceTest01.java @@ -0,0 +1,41 @@ +package com.pratap.java.inheritance; +class Parent{ + + public String name = "parent-name"; + + public void m1(){ + System.out.println("Parent()"); + } +} + +class Child extends Parent{ + + public String name = "child-name"; +// Child class has two methods m1() & m2 + public void m2(){ + System.out.println("Child()"); + } +} +public class InheritanceTest01 { + + public static void main(String[] args) { + //case - 1 + Parent parent = new Parent(); + parent.m1(); + System.out.println("name : "+parent.name); +// parent.m2(); // Compilation Error + //case - 2 + Child child = new Child(); + child.m1(); + child.m2(); + System.out.println("name : "+child.name); + //case - 3 + Parent parent1 = new Child();//Polymorphism + parent1.m1(); + System.out.println("name : "+parent1.name); + //parent1.m2();//CE + + //case - 4 + // Child child1 = new Parent(); //CE + } +} diff --git a/modern-java8/src/main/java/com/pratap/java8/stream/StreamsLimitSkipExample.java b/modern-java8/src/main/java/com/pratap/java8/stream/StreamsLimitSkipExample.java index 8515d11..80eae87 100644 --- a/modern-java8/src/main/java/com/pratap/java8/stream/StreamsLimitSkipExample.java +++ b/modern-java8/src/main/java/com/pratap/java8/stream/StreamsLimitSkipExample.java @@ -4,6 +4,10 @@ import java.util.List; import java.util.Optional; +/** + * Stream API - limit() & skip() + * helps to create a sub stream + */ public class StreamsLimitSkipExample { public static Optional limit(List nums){ diff --git a/modern-java8/src/main/java/com/pratap/java8/stream/terminal/NumericStreamExample.java b/modern-java8/src/main/java/com/pratap/java8/stream/terminal/NumericStreamExample.java new file mode 100644 index 0000000..20fbd0e --- /dev/null +++ b/modern-java8/src/main/java/com/pratap/java8/stream/terminal/NumericStreamExample.java @@ -0,0 +1,40 @@ +package com.pratap.java8.stream.terminal; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.IntStream; + +/** + * Stream API - reduce() + * Terminal operation, used to reduce the contents of stream to a single value + * It takes two parameters as input + * 1st parameter - default or initial value + * 2nd parameter - BinaryOperator + */ +public class NumericStreamExample { + + public static int sumOfNNumbers(List integerList) { + return integerList.stream().reduce(0, (x, y) -> x+y); // unboxing to convert Integer to int + } + + public static int sumOfNNumbersIntStream() { + return IntStream.rangeClosed(1, 6) + //1 + //2 + //3 + //4 + //5 + //6 + .sum(); + } + + public static void main(String[] args) { + + List integerList = Arrays.asList(1,2,3,4,5,6); + + System.out.println("sum of N numbers by reduce : "+sumOfNNumbers(integerList)); + + System.out.println("sum of N numbers by intStream : "+sumOfNNumbersIntStream()); + } + +} diff --git a/modern-java8/src/main/java/com/pratap/java8/stream/terminal/StreamCountingExample.java b/modern-java8/src/main/java/com/pratap/java8/stream/terminal/StreamCountingExample.java index b99ddb6..4757aed 100644 --- a/modern-java8/src/main/java/com/pratap/java8/stream/terminal/StreamCountingExample.java +++ b/modern-java8/src/main/java/com/pratap/java8/stream/terminal/StreamCountingExample.java @@ -9,8 +9,7 @@ public class StreamCountingExample { public static long count() { return StudentDataBase.getAllStudents() .stream() - .filter(student -> student.getGpa() >= 3.9) - .collect(counting()); + .filter(student -> student.getGpa() >= 3.9).count(); } public static void main(String[] args) { diff --git a/modern-java8/src/test/java/com/pratap/java/comparision/LaptopComparisionTest.java b/modern-java8/src/test/java/com/pratap/java/comparision/LaptopComparisionTest.java new file mode 100644 index 0000000..09edad6 --- /dev/null +++ b/modern-java8/src/test/java/com/pratap/java/comparision/LaptopComparisionTest.java @@ -0,0 +1,51 @@ +package com.pratap.java.comparision; + +import com.pratap.comparision.Laptop; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; + +class LaptopComparisionTest { + + List laptops; + + @BeforeEach + void setup(){ + laptops = Arrays.asList( + new Laptop("Dell", 8, 800), + new Laptop("Apple", 16, 1800), + new Laptop("Lenovo", 6, 600), + new Laptop("HP", 8, 1100)); + } + + @Test + void testLaptopComparableByRam(){ + + Collections.sort(laptops); + assertEquals(6, laptops.get(0).getRam()); + assertEquals("Lenovo", laptops.get(0).getBrand()); + } + + @Test + void testComparatorByBrand() { + + Comparator nameComparator = (lapOne, lapTwo) -> lapOne.getBrand().compareTo(lapTwo.getBrand()); + Collections.sort(laptops, nameComparator); + + assertEquals("Apple", laptops.get(0).getBrand()); + assertEquals(16, laptops.get(0).getRam()); + } + + @Test + void testMultipleComparator(){ + + Collections.sort(laptops, Comparator.comparing(Laptop::getRam).thenComparing(Laptop::getBrand)); + assertEquals("Dell", laptops.get(1).getBrand()); + } +} \ No newline at end of file diff --git a/modern-java8/src/test/java/com/pratap/java8/stream/operations/FindFirstAndFindAnyTest.java b/modern-java8/src/test/java/com/pratap/java8/stream/operations/FindFirstAndFindAnyTest.java new file mode 100644 index 0000000..a23d20b --- /dev/null +++ b/modern-java8/src/test/java/com/pratap/java8/stream/operations/FindFirstAndFindAnyTest.java @@ -0,0 +1,76 @@ +package com.pratap.java8.stream.operations; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.util.List; +import java.util.Optional; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Stream API - findFirst() & findAny() + * used to find an element in a the stream + * both the functions return the result of type Optional + * findFirst() - returns the first element in the stream + * findAny() - returns the first encountered element in the context of parallel stream. + * findAny() behave same as findFirst() in the context of sequential stream + */ +public class FindFirstAndFindAnyTest { + + private List students; + + @BeforeEach + void setup(){ + students = StudentDataBase.getAllStudents(); + } + + @Test + void testFindAnyStudentWRTSequentialStream(){ + Optional result = students.stream() + .filter(student -> student.getGpa() > 3.8) + .findAny(); + + assertTrue(result.isPresent()); + assertThat(result.get()) + .extracting(student -> student.getName().equals("Emily")); + } + + @Test + void testFindAnyStudentWRTParallelStream(){ + Optional result = students.stream().parallel() + .filter(student -> student.getGpa() > 3.8) + .findAny(); + + assertTrue(result.isPresent()); + assertThat(result.get()) + .extracting(student -> student.getName()) + .isIn("Emily", "Dave", "James"); + } + + @Test + void testFindFirstStudentWRTSequentialStream(){ + Optional result = students.stream() + .filter(student -> student.getGpa() > 3.8) + .findFirst(); + + assertTrue(result.isPresent()); + assertThat(result.get()) + .extracting(student -> student.getName().equals("Emily")); + } + + @Test + void testFindFirstStudentWRTParallelStream(){ + Optional result = students.stream() + .parallel() + .filter(student -> student.getGpa() > 3.8) + .findFirst(); + + assertTrue(result.isPresent()); + assertThat(result.get()) + .extracting(student -> student.getName().equals("Emily")); + } +} diff --git a/modern-java8/src/test/java/com/pratap/java8/stream/operations/StreamMatchTest.java b/modern-java8/src/test/java/com/pratap/java8/stream/operations/StreamMatchTest.java new file mode 100644 index 0000000..0d45ed1 --- /dev/null +++ b/modern-java8/src/test/java/com/pratap/java8/stream/operations/StreamMatchTest.java @@ -0,0 +1,55 @@ +package com.pratap.java8.stream.operations; + +import com.pratap.java8.beans.Student; +import com.pratap.java8.mockdata.StudentDataBase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Stream API - anyMatch(), allMatch() & noneMatch() + * All these functions takes in a Predicate as an input and returns a Boolean as an output + */ +public class StreamMatchTest { + + List students; + + @BeforeEach + void setup(){ + students = StudentDataBase.getAllStudents(); + } + + @Test + void testAllMatch(){ + assertTrue(students.stream().allMatch(student -> student.getGpa() >= 3.5)); + } + + @Test + void testAllMatchNegative(){ + assertFalse(students.stream().allMatch(student -> student.getGpa() >= 4.0)); + } + + @Test + void testAnyMatch(){ + assertTrue(students.stream().anyMatch(student -> student.getGpa() >= 3.9)); + } + + @Test + void testAnyMatchNegative(){ + assertFalse(students.stream().anyMatch(student -> student.getGpa() >= 5.9)); + } + + @Test + void testNoneMatch(){ + assertTrue(students.stream().noneMatch(student -> student.getGpa() == 5.9)); + } + + @Test + void testNoneMatchNegative(){ + assertFalse(students.stream().noneMatch(student -> student.getGpa() == 3.6)); + } +} diff --git a/modern-java8/src/test/java/com/pratap/java8/stream/practice/RepeatedAndNonRepeatedCharFindTest.java b/modern-java8/src/test/java/com/pratap/java8/stream/practice/RepeatedAndNonRepeatedCharFindTest.java new file mode 100644 index 0000000..2f240b4 --- /dev/null +++ b/modern-java8/src/test/java/com/pratap/java8/stream/practice/RepeatedAndNonRepeatedCharFindTest.java @@ -0,0 +1,56 @@ +package com.pratap.java8.stream.practice; + +import org.junit.jupiter.api.Test; + +import java.util.LinkedHashMap; +import java.util.function.Function; +import java.util.stream.Collectors; + +import static java.util.stream.Collectors.counting; +import static java.util.stream.Collectors.groupingBy; +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class RepeatedAndNonRepeatedCharFindTest { + + private char getFirstNonRepeatedChar(String input){ + + return input.chars() + .mapToObj(num -> Character.toLowerCase(Character.valueOf((char) num))) + .collect(groupingBy(Function.identity(), LinkedHashMap::new, counting())) + .entrySet() + .stream() + .filter(entry -> entry.getValue() == 1L) + .map(entry -> entry.getKey()) + .findFirst() + .get(); + + } + + private char getFirstRepeatedChar(String input){ + + return input.chars() + .mapToObj(num -> Character.toLowerCase(Character.valueOf((char) num))) + .collect(groupingBy(Function.identity(), LinkedHashMap::new, counting())) + .entrySet() + .stream() + .filter(entry -> entry.getValue() > 1L) + .map(entry -> entry.getKey()) + .findFirst() + .get(); + + } + + @Test + void testGetFirstNonRepeatedChar(){ + String inputStr = "Hello"; + char result = getFirstNonRepeatedChar(inputStr); + assertEquals('h', result); + } + + @Test + void testGetFirstRepeatedChar(){ + String inputStr = "Hello"; + char result = getFirstRepeatedChar(inputStr); + assertEquals('l', result); + } +} diff --git a/modern-java8/src/test/java/com/pratap/java8/stream/practice/TwoStringsAreSameCharsTest.java b/modern-java8/src/test/java/com/pratap/java8/stream/practice/TwoStringsAreSameCharsTest.java index f5813bc..829a5bd 100644 --- a/modern-java8/src/test/java/com/pratap/java8/stream/practice/TwoStringsAreSameCharsTest.java +++ b/modern-java8/src/test/java/com/pratap/java8/stream/practice/TwoStringsAreSameCharsTest.java @@ -1,11 +1,39 @@ package com.pratap.java8.stream.practice; -import java.util.Arrays; -import java.util.List; +import org.junit.jupiter.api.Test; + +import java.util.HashMap; +import java.util.function.Function; + +import static java.util.stream.Collectors.counting; +import static java.util.stream.Collectors.groupingBy; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; public class TwoStringsAreSameCharsTest { - private void compareTwoStringChars(String str1, String str2){ - List strings = Arrays.asList(str1, str2); + private boolean compareTwoStringChars(String str1, String str2){ + + HashMap hashMapOne = str1.chars() + .mapToObj(num -> Character.toLowerCase(Character.valueOf((char) num))) + .collect(groupingBy(Function.identity(), HashMap::new, counting())); + + HashMap hashMapTwo = str2.chars() + .mapToObj(num -> Character.toLowerCase(Character.valueOf((char) num))) + .collect(groupingBy(Function.identity(), HashMap::new, counting())); + + return hashMapOne.entrySet().stream() + .allMatch(entry -> entry.getValue().equals(hashMapTwo.get(entry.getKey()))); + } + + @Test + void testCompareTwoStringChars(){ + + assertTrue(compareTwoStringChars("aabbccdee", "aaccbbeed")); + } + + @Test + void testCompareTwoStringCharsWithDiffString(){ + assertFalse(compareTwoStringChars("aabbccdeeee", "aaccbbeed")); } }