java–基础集合框架
为什么使用集合框架
虚线接口,实线类
Map存放K-V(键值对);
Iterator:迭代器
Collection类
Array List接口
狗狗类
package ArrListDemo;
public class Dog {
String name;
String breed;
public Dog(String name,String breed){
this.breed=breed;
this.name=name;
}
public void setName(String name) {
this.name = name;
}
public void setBreed(String breed) {
this.breed = breed;
}
public String getName() {
return name;
}
public String getBreed() {
return breed;
}
}
测试类
package ArrListDemo;
import java.util.ArrayList;
import java.util.List;
public class TestDog {
public static void main(String[] args) {
List dog=new ArrayList();
Dog dog1=new Dog("欣欣","雪纳瑞");
Dog dog2=new Dog("亚亚","拉布拉多");
Dog dog3=new Dog("菲菲","拉布拉多");
Dog dog4=new Dog("美美","雪纳瑞");
dog.add(dog1);
dog.add(dog2);
dog.add(dog3);
dog.add(dog4);
System.out.println("狗的总数:"+dog.size());
for (int i=0;i<dog.size();i++){
Dog dog5=(Dog) dog.get(i);
System.out.println(dog5.name+dog5.breed);
}
dog.remove(1);
System.out.println("删除第二只狗");
for (int i=0;i<dog.size();i++){
Dog dog5=(Dog) dog.get(i);
System.out.println(dog5.name+dog5.breed);
}
System.out.println("删除狗三");
dog.remove(dog3);
for (int i=0;i<dog.size();i++){
Dog dog5=(Dog) dog.get(i);
System.out.println(dog5.name+dog5.breed);
}
System.out.println(dog.contains(dog2));
}
}
LinkedList接口
set接口
Set里面存放的对象的引用,
Set适用对象的equals()方法比较是否为同一对象
Iterator:类似于指针,通过boolean hasNext();:判断是否存在下一个可访问的元素,如果有下一个元素将其取出并通过Object next()获取,接着下一个
需要强转成需要的类型
Dog类
package Set;
public class Dog {
String name;
String breed;
public Dog(String name,String breed){
this.breed=breed;
this.name=name;
}
public void setName(String name) {
this.name = name;
}
public void setBreed(String breed) {
this.breed = breed;
}
public String getName() {
return name;
}
public String getBreed() {
return breed;
}
}
测试类
package Set;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class TestDog {
public static void main(String[] args) {
Set dog = new HashSet();
Dog dog1 = new Dog("欣欣", "雪纳瑞");
Dog dog2 = new Dog("亚亚", "拉布拉多");
Dog dog3 = new Dog("菲菲", "拉布拉多");
Dog dog4 = new Dog("美美", "雪纳瑞");
dog.add(dog1);
dog.add(dog2);
dog.add(dog4);
dog.add(dog3);
/**
* 方法一用增强for循环
*/
for(Object object:dog){
Dog dog5=(Dog) object;
System.out.println(dog5.name+dog5.breed);
}
/**
* 方法二迭代器
*/
Iterator it=dog.iterator();//拿到迭代器
while (it.hasNext()){
Dog dog5= (Dog)it.next();
System.out.println(dog5.name+dog5.breed);
}
}
}
Map接口
put(k.v)
get(k)(根据键拿值)
remove(k)
size()
keySet()–set(拿到所有建的集合)