一、ArrayListDemo1
package com.shujia.lhw.day18;
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListDemo1 {
public static void main(String[] args) {
//创建集合对象
ArrayList list = new ArrayList();
//向集合中添加字符串元素
list.add("hello");
list.add("world");
list.add("java");
list.add("hadoop");
list.add("hive");
list.add("hello");
list.add("spark");
list.add("java");
list.add("world");
System.out.println("去重之前的集合为:"+list);
//创建一个新的集合保存去重后的元素
ArrayList list2 = new ArrayList();
//遍历旧的集合
Iterator iterator = list.iterator();
while(iterator.hasNext()){
String s = (String) iterator.next();
//获取到元素之后,拿着这个元素去信集合中查找,如果找到说明重复就不添加,反之添加到新集合中
if(!list2.contains(s)){
list2.add(s);
}
}
System.out.println("去重后的集合为:"+list2);
}
}
---------------------------------------------------------------------------------------------------------------------------------
二、
package com.shujia.lhw.day18;
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListDemo2 {
public static void main(String[] args) {
//创建集合对象
ArrayList list = new ArrayList();
//创建学生对象
Student s1 = new Student("王宇",18);
Student s2 = new Student("明旺",17);
Student s3 = new Student("周家祥",16);
Student s4 = new Student("张保桂",20);
Student s5 = new Student("王宇",18);
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
list.add(s5);
System.out.println(list);
System.out.println("=======================================");
//创建一个新的集合存储去重后的结果
ArrayList list2 = new ArrayList();
//遍历旧的集合
Iterator iterator = list.iterator();
while(iterator.hasNext()){
Student student = (Student) iterator.next();
if(!list2.contains(student)){
list2.add(student);
}
}
System.out.println(list2);
}
}
-------------------------------------------------------------------------------------------------------------------------------
三、泛型
package com.shujia.lhw.day18;
import java.util.ArrayList;
import java.util.Iterator;
public class GenericDemo {
public static void main(String[] args) {
//创建一个List集合对象
// 在JDK1.7之后,泛型会进行自动类型推断
ArrayList list = new ArrayList<>();
//向集合中添加元素
list.add("hello");
list.add("hello");
list.add("hello");
list.add("hello");
list.add("hello");
// list.add("20");
// list.add("12.34");
// list.add(new Student());
//遍历
// Iterator iterator = list.iterator();
// while(iterator.hasNext()){
// Object next = iterator.next();
//
// String s = (String) next;
//
// System.out.println(next);
//
// }
//遍历
Iterator iterator = list.iterator();
while(iterator.hasNext()){
String next = iterator.next();
System.out.println(next);
}
}
}
-----------------------------------------------------------------------------------------------------------------------------
四、linkedList
package com.shujia.lhw.day18;
import java.util.linkedList;
public class linkedListDemo1 {
public static void main(String[] args) {
//1、创建linkedList集合对象
linkedList linkedList = new linkedList();
//2、向集合中添加元素
linkedList.add("hello");
linkedList.add("world");
linkedList.add("java");
linkedList.add("bigdata");
linkedList.add("hadoop");
linkedList.add("hive");
System.out.println(linkedList);
System.out.println("===================================");
//public void addFirst(Object e)在集合的开头添加元素
linkedList.addFirst("spark");
System.out.println(linkedList);
//addLast(Object e)在集合末尾添加元素,等同于add()方法
linkedList.addLast("Flink");
//linkedList.add("Flink");
System.out.println(linkedList);
//public Object getFirst()获取集合中的第一个元素
Object first = linkedList.getFirst();
System.out.println(first);
System.out.println(linkedList);
//public Object getLast()获取集合中的最后一个元素
Object last = linkedList.getLast();
System.out.println(last);
System.out.println(linkedList);
//public Object removeFirst()从集合中删除第一个元素并返回
Object o = linkedList.removeFirst();
System.out.println(o);
System.out.println(linkedList);
//public Object removeLast()从集合中删除最后一个元素并返回
Object o1 = linkedList.removeLast();
System.out.println(o1);
System.out.println(linkedList);
}
}
---------------------------------------------------------------------------------------------------------------------------
五、LinedListTest
package com.shujia.lhw.day18;
import java.util.Iterator;
import java.util.linkedList;
public class linkedListTest1 {
public static void main(String[] args) {
//创建集合对象
linkedList linkedList = new linkedList();
// linkedList.add("hello");
// linkedList.add("world");
// linkedList.add("java");
linkedList.addFirst("hello");
linkedList.addFirst("world");
linkedList.addFirst("java");
//遍历
Iterator iterator = linkedList.iterator();
while(iterator.hasNext()){
Object next = iterator.next();
System.out.println(next);
}
//如果面试的时候,遇到这样的题目
//按照上面的做法,一分都没有
}
}
--------------------------------------------------------------------------------------------------------------------------
六、MyStack
package com.shujia.lhw.day18;
import java.util.linkedList;
public class MyStack {
private linkedList linkedList;
MyStack(){
linkedList = new linkedList();
}
public void myAdd(Object obj){
linkedList.addFirst(obj);
}
public Object myGet(){
// return linkedList.getFirst();
return linkedList.removeFirst();
}
public boolean myIsEmpty(){
return linkedList.isEmpty();
}
}
------------------------------------------------------------------------------------------------------------------------
七、MyStackTest
package com.shujia.lhw.day18;
public class MyStackTest1 {
public static void main(String[] args) {
//创建自己定义的集合类
MyStack myStack = new MyStack();
//添加元素到集合
myStack.myAdd("hello");
myStack.myAdd("world");
myStack.myAdd("java");
myStack.myAdd("bigdata");
System.out.println(myStack.myGet());
System.out.println(myStack.myGet());
System.out.println(myStack.myGet());
System.out.println(myStack.myGet());
// System.out.println(myStack.myGet());//NoSuchElementException
//应该在获取元素之前判断集合中还有没有元素
while (!myStack.myIsEmpty()){
Object o = myStack.myGet();
System.out.println(o);
}
}
}
------------------------------------------------------------------------------------------------------------------------------
八、Student
package com.shujia.lhw.day18;
import java.util.Objects;
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return age == student.age && Objects.equals(name, student.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
@Override
public String toString() {
return "Student{" +
"name='" + name + ''' +
", age=" + age +
'}';
}
}
----------------------------------------------------------------------------------------------------------------------------
九、VectorDemo
package com.shujia.lhw.day18;
import java.util.Enumeration;
import java.util.Vector;
public class VectorDemo {
public static void main(String[] args) {
//创建Vector集合对象
Vector vector = new Vector();
//向集合添加元素
vector.addElement("hello");
vector.addElement("java");
vector.add("world");
vector.addElement("java");
// System.out.println(vector);
//public Object elementAt(int index)获取指定索引处的元素 get(int index)
Object o = vector.elementAt(0);
System.out.println(o);
System.out.println(vector.elementAt(1));
System.out.println(vector.elementAt(2));
System.out.println(vector.elementAt(3));
// System.out.println(vector.elementAt(4));
System.out.println(vector.get(3));
System.out.println("=================================");
//public Enumeration elements() 返回此向量的元素的枚举
//简单的记忆,你就把这个对象看做成一个迭代器
Enumeration elements = vector.elements();
while (elements.hasMoreElements()){
Object o1 = elements.nextElement();
String s = (String) o1;
System.out.println(s);
}
}
}
--------------------------------------------------------------------------------------------------------------------------
十、哈希表
-------------------------------------------------------------------------------------------------------------------------------
十一、 树
--------------------------------------------------------------------------------------------------------------------------------
十二、数组和链表
-------------------------------------------------------------------------------------------------------------------------------
十三、图
---------------------------------------------------------------------------------------------------------------------------
十四、栈和队列



