一、类集框架
1.类集框架是一组类和接口
2.位于java.util包中
3.主要用于存储和管理对象
4.主要分为三大类--集合、列表和映射
集合(set):集合中的对象不按照特定的方式排序,并且没有重复对象
列表:对象按照索引位置排序,可以有重复对象
框架代码:
import java.util.List;
import java.util.ArrayList;
public class Test{
public static void main(String args []){
ArrayList<String> arrayList = new ArrayList<String>();//String中只能存放String对象
arrayList.add("b");
arrayList.add("a");
arrayList.add("j");
String s = arrayList.get(1);
System.out.println(s);
}
}
运行结果:a(长度为3,排列顺序和数组一致)
获取长度代码:int a = arrayList.size();
移除第s个数据代码:arrayList.remove(s);原位置被后面的数据依次占据
代码:
import java.util.List;
import java.util.ArrayList;
public class Test{
public static void main(String args []){
ArrayList<String> arrayList = new ArrayList<String>();//String中只能存放String对象
arrayList.add("b");
arrayList.add("a");
arrayList.add("j");
arrayList.add("k");
arrayList.remove(1);
for(int i = 0;i < arrayList.size();i++){
String s = arrayList.get(i);
System.out.println(s);
}
}
}
运行结果:b j k
二、Collection接口
boolean add(Object o) 向集合当中加入一个对象
void clear() 删除集合当中的所有对象
boolean isEmpty() 判断集合是否为空
rmove(Object o) 从集合中删除一个对象的引用
int size() 返回集中元素数目
代码(以上接口的使用):
import java.util.Set;
import java.util.HashSet;
public class Test{
public static void main(String args []){
//hashSet<String>hashSet = new hashSet<String>();
//Set<String> set = HashSet;
Set<String> set = new HashSet<String>();
boolean m = set.isEmpty();
System.out.println(m);
set.add("a");
set.add("b");
set.add("c");
set.add("q");
set.add("q");//重复元素自动忽略
boolean n = set.isEmpty();
System.out.println(n);
int i = set.size();
System.out.println("clear之前set对象长度是"+i);
set.remove("a");
int k = set.size();
System.out.println("remove之后set对象长度是"+k);
set.clear();
int j = set.size();
System.out.println("clear之后set对象长度是"+j);
}
}
运行结果:
true
false
clear之前set对象长度是4
remove之后set对象长度是3
clear之后set对象长度是0
二、iterator(迭代器接口)是一个接口,一个子接口是collection.collection的一个子接口是set,set的一个实现类是HashSet(一一继承)
hasNext() 判断迭代器中是否有下一个对象
next() 返回迭代器中的下一个对象
代码:
import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;
public class Test{
public static void main(String args []){
//hashSet<String>hashSet = new hashSet<String>();
//Set<String> set = HashSet;
Set<String> set = new HashSet<String>();
set.add("a");
set.add("b");
set.add("c");
set.add("q");
set.add("q");//重复元素自动忽略
//调用set对象的Iterator会生成一个迭代器对象,用于遍历整个Set
Iterator<String> it = set.iterator();//生成一个迭代器对象
while(it.hasNext){
String s = it.next();
System.out.println(s);
}
}
}
运行结果:b,c
映射(Map):集合中的每一个元素包含一个键对象和一个值对象,键对象不可以重复 ,值对象可以重复
代码:
import java.util.Map;
import java.util.HashMap;
public class Test{
public static void main(String args []){
HashMap<String,String> hashMap = new HashMap<String,String>();
Map<String,String> map = hashMap;
map.put("1","q");
map.put("2","a");
map.put("3","z");
map.put("4","w");//存放键值对
map.put("3","e");
int i = map.size();
System.out.println(i);
String s = map.get("3");
System.out.println(s);
}
}
运行结果:4,e