File1: Employee.java
-------------------------------------------------------
package org.developersbrain.solutions;
public class Employee {
int empID;
String empFirstName;
String empLastName;
String dateOfBirth;
String empZipCode;
public Employee(){
empID = 0;
empFirstName = "";
empLastName = "";
dateOfBirth = "<YYYYMMDD>";
empZipCode = "000-0000";
}
public Employee(int empID,String empFirstName,String empLastName,String dateOfBirth,String empZipCode){
this.empID = empID;
this.empFirstName = empFirstName;
this.empLastName = empLastName;
this.dateOfBirth = dateOfBirth;
this.empZipCode = empZipCode;
}
public int getEmpID() {
return empID;
}
public void setEmpID(int empID) {
this.empID = empID;
}
public String getEmpFirstName() {
return empFirstName;
}
public void setEmpFirstName(String empFirstName) {
this.empFirstName = empFirstName;
}
public String getEmpLastName() {
return empLastName;
}
public void setEmpLastName(String empLastName) {
this.empLastName = empLastName;
}
public String getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(String dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
public String getEmpZipCode() {
return empZipCode;
}
public void setEmpZipCode(String empZipCode) {
this.empZipCode = empZipCode;
}
public void printAll(){
System.out.println("--------------------------------------------------------------------------------------");
System.out.println("Employee Number :"+this.empID);
System.out.println("Name :"+this.empFirstName+" "+this.empLastName);
System.out.println("DOB :"+this.dateOfBirth);
System.out.println("ZipCode :"+this.empZipCode);
System.out.println("----------------------END OF RECORD---------------------------------------------------");
}
public void printRecord(char delimiter){
System.out.println(this.empID+""+delimiter+this.empFirstName+delimiter+this.empLastName+delimiter+this.dateOfBirth+delimiter+this.empZipCode);
}
@Override
public String toString(){
//printAll();
printRecord(',');
return "";
}
public boolean equals(Employee e){
return this.empID==e.empID;
}
}
File2: Node.java
-----------------------------------------------------
package org.developersbrain.solutions;
public class Node<T> {
//Single linked list implementation
//Generic Class implementation
private T t;
private Node<T> nextNode;
Node(T t){
this.t = t;
this.nextNode=null;
}
//Non-recursive function
public void add(T t){
Node<T> newN = new Node<T>(t);
Node<T> nextN=this;
while(nextN.nextNode != null){
nextN = nextN.nextNode;
}
nextN.nextNode = newN;
}
public void removeDuplicates(){
Node head=this;
Node next;
Node previous;
Employee emp;
Employee emp1;
if(head==null) return;
while(head!=null){
emp = (Employee) head.t;
next=head.nextNode;
previous = head;
while(next!=null){
emp1=(Employee) next.t;
if(emp.equals(emp1)){
previous.nextNode=next.nextNode;
}else{
previous = next;
}
next=next.nextNode;
}
head=head.nextNode;
}
public void traverse(){
Node<T> nextN=this;
while(nextN != null){
nextN.t.toString();
nextN=nextN.nextNode;
};
}
}
File3 : MainClass.java
-----------------------------------------------------
package org.developersbrain.solutions;
public class MainClass {
public static void main(String[] args){
Node<Employee> listV=new Node<Employee>(
new Employee(100,"First Name","Last Name","19750101","123-4567")
);
listV.add(new Employee(100,"First Name","Last Name","19800101","123-4567"));
listV.add(new Employee(200,"First Name","Last Name","19800101","123-4567"));
listV.add(new Employee(200,"First Name","Last Name","19800101","123-4567"));
listV.add(new Employee(200,"First Name","Last Name","19800101","123-4567"));
listV.add(new Employee(200,"First Name","Last Name","19800101","123-4567"));
listV.add(new Employee(200,"First Name","Last Name","19800101","123-4567"));
listV.add(new Employee(200,"First Name","Last Name","19800101","123-4567"));
listV.add(new Employee(300,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(300,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(500,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(600,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(700,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(800,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(900,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(1000,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(1110,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(1200,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(1300,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(1300,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(1300,"First Name","Last Name","19670101","123-2327"));
System.out.println("Before Removing Duplicates(BY Employee ID)");
System.out.println("------------------------------------------");
listV.traverse();
listV.removeDuplicates();
System.out.println();
System.out.println("After Removing Duplicates(BY Employee ID)");
System.out.println("------------------------------------------");
listV.traverse();
}
}
Output:
-------------------------------------------------------------------------------
Before Removing Duplicates(BY Employee ID)
------------------------------------------
100,First Name,Last Name,19750101,123-4567
100,First Name,Last Name,19800101,123-4567
200,First Name,Last Name,19800101,123-4567
200,First Name,Last Name,19800101,123-4567
200,First Name,Last Name,19800101,123-4567
200,First Name,Last Name,19800101,123-4567
200,First Name,Last Name,19800101,123-4567
200,First Name,Last Name,19800101,123-4567
300,First Name,Last Name,19670101,123-2327
300,First Name,Last Name,19670101,123-2327
500,First Name,Last Name,19670101,123-2327
600,First Name,Last Name,19670101,123-2327
700,First Name,Last Name,19670101,123-2327
800,First Name,Last Name,19670101,123-2327
900,First Name,Last Name,19670101,123-2327
1000,First Name,Last Name,19670101,123-2327
1110,First Name,Last Name,19670101,123-2327
1200,First Name,Last Name,19670101,123-2327
1300,First Name,Last Name,19670101,123-2327
1300,First Name,Last Name,19670101,123-2327
1300,First Name,Last Name,19670101,123-2327
After Removing Duplicates(BY Employee ID)
------------------------------------------
100,First Name,Last Name,19750101,123-4567
200,First Name,Last Name,19800101,123-4567
300,First Name,Last Name,19670101,123-2327
500,First Name,Last Name,19670101,123-2327
600,First Name,Last Name,19670101,123-2327
700,First Name,Last Name,19670101,123-2327
800,First Name,Last Name,19670101,123-2327
900,First Name,Last Name,19670101,123-2327
1000,First Name,Last Name,19670101,123-2327
1110,First Name,Last Name,19670101,123-2327
1200,First Name,Last Name,19670101,123-2327
1300,First Name,Last Name,19670101,123-2327
-------------------------------------------------------
package org.developersbrain.solutions;
public class Employee {
int empID;
String empFirstName;
String empLastName;
String dateOfBirth;
String empZipCode;
public Employee(){
empID = 0;
empFirstName = "";
empLastName = "";
dateOfBirth = "<YYYYMMDD>";
empZipCode = "000-0000";
}
public Employee(int empID,String empFirstName,String empLastName,String dateOfBirth,String empZipCode){
this.empID = empID;
this.empFirstName = empFirstName;
this.empLastName = empLastName;
this.dateOfBirth = dateOfBirth;
this.empZipCode = empZipCode;
}
public int getEmpID() {
return empID;
}
public void setEmpID(int empID) {
this.empID = empID;
}
public String getEmpFirstName() {
return empFirstName;
}
public void setEmpFirstName(String empFirstName) {
this.empFirstName = empFirstName;
}
public String getEmpLastName() {
return empLastName;
}
public void setEmpLastName(String empLastName) {
this.empLastName = empLastName;
}
public String getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(String dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
public String getEmpZipCode() {
return empZipCode;
}
public void setEmpZipCode(String empZipCode) {
this.empZipCode = empZipCode;
}
public void printAll(){
System.out.println("--------------------------------------------------------------------------------------");
System.out.println("Employee Number :"+this.empID);
System.out.println("Name :"+this.empFirstName+" "+this.empLastName);
System.out.println("DOB :"+this.dateOfBirth);
System.out.println("ZipCode :"+this.empZipCode);
System.out.println("----------------------END OF RECORD---------------------------------------------------");
}
public void printRecord(char delimiter){
System.out.println(this.empID+""+delimiter+this.empFirstName+delimiter+this.empLastName+delimiter+this.dateOfBirth+delimiter+this.empZipCode);
}
@Override
public String toString(){
//printAll();
printRecord(',');
return "";
}
public boolean equals(Employee e){
return this.empID==e.empID;
}
}
File2: Node.java
-----------------------------------------------------
package org.developersbrain.solutions;
public class Node<T> {
//Single linked list implementation
//Generic Class implementation
private T t;
private Node<T> nextNode;
Node(T t){
this.t = t;
this.nextNode=null;
}
//Non-recursive function
public void add(T t){
Node<T> newN = new Node<T>(t);
Node<T> nextN=this;
while(nextN.nextNode != null){
nextN = nextN.nextNode;
}
nextN.nextNode = newN;
}
public void removeDuplicates(){
Node head=this;
Node next;
Node previous;
Employee emp;
Employee emp1;
if(head==null) return;
while(head!=null){
emp = (Employee) head.t;
next=head.nextNode;
previous = head;
while(next!=null){
emp1=(Employee) next.t;
if(emp.equals(emp1)){
previous.nextNode=next.nextNode;
}else{
previous = next;
}
next=next.nextNode;
}
head=head.nextNode;
}
public void traverse(){
Node<T> nextN=this;
while(nextN != null){
nextN.t.toString();
nextN=nextN.nextNode;
};
}
}
File3 : MainClass.java
-----------------------------------------------------
package org.developersbrain.solutions;
public class MainClass {
public static void main(String[] args){
Node<Employee> listV=new Node<Employee>(
new Employee(100,"First Name","Last Name","19750101","123-4567")
);
listV.add(new Employee(100,"First Name","Last Name","19800101","123-4567"));
listV.add(new Employee(200,"First Name","Last Name","19800101","123-4567"));
listV.add(new Employee(200,"First Name","Last Name","19800101","123-4567"));
listV.add(new Employee(200,"First Name","Last Name","19800101","123-4567"));
listV.add(new Employee(200,"First Name","Last Name","19800101","123-4567"));
listV.add(new Employee(200,"First Name","Last Name","19800101","123-4567"));
listV.add(new Employee(200,"First Name","Last Name","19800101","123-4567"));
listV.add(new Employee(300,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(300,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(500,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(600,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(700,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(800,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(900,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(1000,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(1110,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(1200,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(1300,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(1300,"First Name","Last Name","19670101","123-2327"));
listV.add(new Employee(1300,"First Name","Last Name","19670101","123-2327"));
System.out.println("Before Removing Duplicates(BY Employee ID)");
System.out.println("------------------------------------------");
listV.traverse();
listV.removeDuplicates();
System.out.println();
System.out.println("After Removing Duplicates(BY Employee ID)");
System.out.println("------------------------------------------");
listV.traverse();
}
}
Output:
-------------------------------------------------------------------------------
Before Removing Duplicates(BY Employee ID)
------------------------------------------
100,First Name,Last Name,19750101,123-4567
100,First Name,Last Name,19800101,123-4567
200,First Name,Last Name,19800101,123-4567
200,First Name,Last Name,19800101,123-4567
200,First Name,Last Name,19800101,123-4567
200,First Name,Last Name,19800101,123-4567
200,First Name,Last Name,19800101,123-4567
200,First Name,Last Name,19800101,123-4567
300,First Name,Last Name,19670101,123-2327
300,First Name,Last Name,19670101,123-2327
500,First Name,Last Name,19670101,123-2327
600,First Name,Last Name,19670101,123-2327
700,First Name,Last Name,19670101,123-2327
800,First Name,Last Name,19670101,123-2327
900,First Name,Last Name,19670101,123-2327
1000,First Name,Last Name,19670101,123-2327
1110,First Name,Last Name,19670101,123-2327
1200,First Name,Last Name,19670101,123-2327
1300,First Name,Last Name,19670101,123-2327
1300,First Name,Last Name,19670101,123-2327
1300,First Name,Last Name,19670101,123-2327
After Removing Duplicates(BY Employee ID)
------------------------------------------
100,First Name,Last Name,19750101,123-4567
200,First Name,Last Name,19800101,123-4567
300,First Name,Last Name,19670101,123-2327
500,First Name,Last Name,19670101,123-2327
600,First Name,Last Name,19670101,123-2327
700,First Name,Last Name,19670101,123-2327
800,First Name,Last Name,19670101,123-2327
900,First Name,Last Name,19670101,123-2327
1000,First Name,Last Name,19670101,123-2327
1110,First Name,Last Name,19670101,123-2327
1200,First Name,Last Name,19670101,123-2327
1300,First Name,Last Name,19670101,123-2327
Comments
Post a Comment