栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Day18(集合,泛型,哈希表,树,栈和队列,图,数组和链表)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Day18(集合,泛型,哈希表,树,栈和队列,图,数组和链表)

一、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);
        }
    }
}

--------------------------------------------------------------------------------------------------------------------------

十、哈希表

-------------------------------------------------------------------------------------------------------------------------------

十一、 树

 --------------------------------------------------------------------------------------------------------------------------------

十二、数组和链表

 

-------------------------------------------------------------------------------------------------------------------------------

十三、图

 

---------------------------------------------------------------------------------------------------------------------------

十四、栈和队列

 

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/736153.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号