Java数据结构

数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合

 Collection

package kkk;
import java.util.Collection;
import java.util.ArrayList;

public class 怀化第一深情 {
    public static void main(String[] args) {
        Collection<String> c=new ArrayList<String>();
        c.add("hello");
        c.add("world");
        c.add("java");

        System.out.println(c);
    }

}

package kkk;
import java.util.ArrayList;
import java.util.Collection;
//Alt+7  打开一个窗口,能够看到类的所有信息
public class a1 {
    public static void main(String[] args) {
     Collection<String>c=new ArrayList<String>();
     //alt+b打开详细信息
        System.out.println(c.add("hello"));
        System.out.println(c.add("world"));
        System.out.println(c.add("world"));
        c.add("qqq");
        c.add("java");
        c.add("world");
        System.out.println(c.remove("world"));
        System.out.println(c.remove("ww"));
c.clear();
        System.out.println(c.contains("world"));//是否包含某种元素
c.add("a");
        System.out.println(c.contains("a"));
        System.out.println(c.isEmpty());
c.clear();
        System.out.println(c.isEmpty());
        System.out.println(c);
        
    }
}

package kkk;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class a2 {
    public static void main(String[] args) {
    Collection<String>c=new ArrayList<String>();
     c.add("hello");
     c.add("world");
     c.add("java");
     Iterator<String>it=c.iterator();
//System.out.println(it.next());//返回迭代中的下一个元素
//System.out.println(it.next());
//System.out.println(it.next());
//if(it.hasNext()){
//    System.out.println(it.next());
//}
//        if(it.hasNext()){
//            System.out.println(it.next());
//        }
//        if(it.hasNext()){
//            System.out.println(it.next());
//        }
//        if(it.hasNext()){
//            System.out.println(it.next());
//        }
    while(it.hasNext()){
        //System.out.println(it.next());
String s= it.next();
        System.out.println(s);
    }


    }
}

package kkk;

public class Student {
    private String name;
    private int age;

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Student(String name) {
        this.name = name;
    }

    public Student(int age) {
        this.age = age;
    }

    public Student() {
    }

    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;
    }
}
package kkk;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class CollectionDemo {
    public static void main(String[] args) {
        Collection<Student>c=new ArrayList<Student>();
Student s1=new Student("dwe2ed",55);
Student s2=new Student("dwe2",551);
Student s3=new Student("dwewed",575);
c.add(s1);
c.add(s2);
c.add(s3);
        Iterator<Student>i=c.iterator();
while(i.hasNext()){
    Student s=i.next();
    System.out.println(s.getName()+","+s.getAge());
}

    }
}

List

package kkk;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class a1 {
    public static void main(String[] args) {
   //创建集合对象
   List<String> list=new ArrayList<String>();
   //添加元素
   list.add("hello");
   list.add("world");
   list.add("java");
   list.add("java");
   //输出集合对象
        System.out.println(list);
        Iterator<String>i=list.listIterator();
        while (i.hasNext()){
       //  String s=i.next();
            System.out.println(i.next());
        }

    }
}

package kkk;

public class Student {
private String name;
private int age;

    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Student(String name) {
        this.name = name;
    }

    public Student(int age) {
        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;
    }
}
package kkk;
import java.awt.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class a {
    public static void main(String[] args) {
        List<Student>a=new ArrayList<Student>();
     Student s1=new Student("我的钱",45);
     Student s2=new Student("我的",77);
     Student s3=new Student("的钱",53);
a.add(s1);
a.add(s2);
a.add(s3);
        Iterator<Student>i=a.listIterator();
while(i.hasNext()){
    Student s= i.next();
    System.out.println(s.getName()+","+s.getAge());
}
        System.out.println("----------");
for(int j=0;j<a.size();j++){
    Student s=a.get(j);
    System.out.println(s.getName()+","+s.getAge());
}

    }
}

并发修改异常

ListIterator

List

 队列

 

链表

 

 

package heima;

public class Student {
    private String name;
    private int age;

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Student(String name) {
        this.name = name;
    }

    public Student(int age) {
        this.age = age;
    }

    public Student() {
    }

    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;
    }
}
package heima;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ListDemo {
    public static void main(String[] args) {
        ArrayList<Student> list=new ArrayList<>();
        Student s1=new Student("ddwe",55);
        Student s2=new Student("dd",52);
        Student s3=new Student("add",77);
        list.add(s1);
        list.add(s2);
        list.add(s3);
        Iterator<Student>it=list.iterator();
        while(it.hasNext()){
            Student s= it.next();
            System.out.println(s.getName()+s.getAge());
        }
for(int i=0;i< list.size();i++){
    Student s=list.get(i);
    System.out.println(s.getName()+s.getAge());
}
for(Student s:list){
    System.out.println(s.getName()+s.getAge());
}

    }
}

package heima;
import java.util.LinkedList;
public class LinkedListDemo {
    public static void main(String[] args) {
     LinkedList<String>linked=new LinkedList<String>();
     linked.add("wsedf");
     linked.add("wsedeefwf");
     linked.add("wsedfwfefff");
        System.out.println(linked);
linked.addFirst("javaee");
linked.addLast("javaee");
        System.out.println(linked);
        System.out.println(linked.getFirst());
        System.out.println(linked.getLast());
        System.out.println(linked.removeFirst());
        System.out.println(linked.removeLast());
        System.out.println(linked);

    }
}

 Set集合概述和特点

package heima;
import java.util.HashSet;
import java.util.Set;
public class Set11 {
    public static void main(String[] args) {
     Set<String>set=new HashSet<String>();
        set.add("hello");
        set.add("hello");
        set.add("world");
        set.add("world");
        set.add("java");
        set.add("java");
        //不包含重复的元素

for(String s:set){
    System.out.println(s);
}


    }
}

package heima;

public class Student {
    private String name;
    private int age;

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Student(String name) {
        this.name = name;
    }

    public Student(int age) {
        this.age = age;
    }

    public Student() {
    }

    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;
    }
   public int hashCode(){
        return 0;
    }
}

package heima;

public class HashDemo {
    public static void main(String[] args) {
     Student s1=new Student("dwqe",30);
     //同一个对象多次调用hashCdoe()方法返回的哈希值是相同的
        System.out.println(s1.hashCode());
        System.out.println(s1.hashCode());
        System.out.println("-------");
Student s2=new Student("dqwe",44);
//默认情况下,不同对象的哈希值是不同的;
        System.out.println(s2.hashCode());
        System.out.println("--------");
        System.out.println("hello".hashCode());
        System.out.println("world".hashCode());
        System.out.println("java".hashCode());
        System.out.println("world".hashCode());
        System.out.println("--------");
        System.out.println("重地".hashCode());
        System.out.println("通话".hashCode());


    }
}

package heima;

import java.util.HashSet;

public class HashSetDemo01 {
    public static void main(String[] args) {
        HashSet<String>hs=new HashSet<String>();
hs.add("hello");
hs.add("world");
hs.add("java");
hs.add("world");
for(String s:hs){
    System.out.println(s);
}


    }
} 

 

 

 

package heima;

public class Student {
    String name;
    int 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;
    }

    public Student(String name, int age) {
        this.name = name;
        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;

        if (age != student.age) return false;
        return name != null ? name.equals(student.name) : student.name == null;
    }

    @Override
    public int hashCode() {
        int result = name != null ? name.hashCode() : 0;
        result = 31 * result + age;
        return result;
    }
}
package heima;

import java.util.HashSet;

public class HashSetDemo02 {
    public static void main(String[] args) {
        HashSet<Student> hs=new HashSet<Student>();
        Student s1=new Student("看",30);
        Student s2=new Student("asqws",44);
        Student s3=new Student("jkewfhn",30);
        Student s4=new Student("看",30);
        hs.add(s1);
    hs.add(s2);
    hs.add(s3);
    hs.add(s4);
for(Student s:hs){
    System.out.println(s.getName()+","+s.getAge());
}


    }
}
package heima;
import java.util.LinkedHashSet;
public class LinkHashSetDemo {
    public static void main(String[] args) {
        LinkedHashSet<String>linkedHashSet=new LinkedHashSet<String>();
        linkedHashSet.add("wefd");
        linkedHashSet.add("ew");
        linkedHashSet.add("java");
        linkedHashSet.add("java");
        for(String s:linkedHashSet){
            System.out.println(s);
        }

    }
}

LinkedHashSet集合概述和特点

import java.util.LinkedHashSet;
public class Main {
    public static void main(String[] args) {
      LinkedHashSet<String>a=new LinkedHashSet<String>();
        a.add("hello");
        a.add("world");
        a.add("java");
        a.add("hello");
        for(String s:a){
            System.out.println(s);
        }


    }
}

TreeSet集合概述和特点

import java.util.LinkedHashSet;
import java.util.TreeSet;
public class Main {
    public static void main(String[] args) {
TreeSet<Integer>ts=new TreeSet<Integer>();
ts.add(10);
ts.add(20);
ts.add(30);
ts.add(40);
ts.add(50);
ts.add(50);
ts.add(60);
for(Integer i:ts){
    System.out.println(i);
}
    }
}

 

package heima;

public class Student implements Comparable<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;}

    public int compareTo(Student s){
    return 1;
    }

}
package heima;
import java.util.TreeSet;
public class kkk {
    public static void main(String[] args) {
TreeSet<Student>ts=new TreeSet<Student>();
Student s1=new Student("rgefe",24);
Student s2=new Student("rgeef",25);
Student s3=new Student("rgee",23);
Student s4=new Student("rgeew",21);
ts.add(s1);
ts.add(s2);
ts.add(s3);
ts.add(s4);
for(Student s:ts){
    System.out.println(s.getName()+","+s.getAge());
}



    }
}
package heima;

public class Student implements Comparable<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;}

    public int compareTo(Student s){
   int num=this.age-s.age;
   return num;//return 0;return 1;return -1;
    }

}
package heima;
import java.util.TreeSet;
public class kkk {
    public static void main(String[] args) {
TreeSet<Student>ts=new TreeSet<Student>();
Student s1=new Student("rgefe",24);
Student s2=new Student("rgeef",25);
Student s3=new Student("rgee",23);
Student s4=new Student("rgeew",21);
Student s5=new Student("dwe",33);
ts.add(s1);
ts.add(s2);
ts.add(s3);
ts.add(s4);
for(Student s:ts){
    System.out.println(s.getName()+","+s.getAge());
}



    }
}

 

package heima;

public class Student implements Comparable<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;}

    public int compareTo(Student s){
   int num=this.age-s.age;
   return num;//return 0;return 1;return -1;
    }

}
package heima;

import java.util.Comparator;
import java.util.TreeSet;

public class TreeSetDemo {
    public static void main(String[] args) {
        TreeSet<Student>ts=new TreeSet<Student>(new Comparator<Student>() {
            @Override
            public int compare(Student s1, Student s2) {
                int num=s1.getAge()-s2.getAge();
                int num2=num==0?s1.getName().compareTo(s2.getName()):num;
               return num2;

            }
        });
Student s1=new Student("wdas",25);
Student s2=new Student("wadas",45);
Student s3=new Student("adas",33);
Student s4=new Student("adas",15);
Student s5=new Student("deas",71);
Student s6=new Student("das",4);
ts.add(s1);
ts.add(s2);
ts.add(s3);
ts.add(s4);
ts.add(s5);
ts.add(s6);
for(Student s:ts){
    System.out.println(s.getName()+","+s.getAge());
}

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怀化第一深情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值