数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合
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());
}
}
}
并发修改异常
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());
}
}
}