类集框架是java中的一组类和接口,位于java.utl包中,在使用时需要使用import java.utl.*语句导入,主要用于存储和管理数据,相当于可扩充容量的数组,并且提供了各种各样的数据结构来存储数据,存储数据的方式主要有集合,链表和映射。
1、集合(Set)
集合中的元素不按照顺序排序,不允许有值重复的元素,Set继承接口Collection的方法,
接口Set常用的实现类是HashSet,HashSet包含的常用方法有添加元素add(),删除指定元素remove(),获取数据长度size(),判断集合是否为空isEmpty();清空元素Clean(),迭代器iterator()等等。由于Set中的元素没有顺序,
在Set中取出数据要用到迭代器接口Iterator中的hasNext()方法和next()方法,使用hasNext()来判断迭代器游标有无下一个元素,返回值为boolean类型,使用next()返回迭代器游标的下一个元素。
import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;
public class TestSet{
public static void main(String args[]){
HashSet<String> hs=new HashSet<String>(); //声明对象时使用<数据类型>指定对象的数据类型
Set<string> s=hs;
boolean b1=s.isEmpty();
System.out.println(b1);
s.add("a");
s.add("b");
s.add("c");
s.add("d");
s.add("c"); //添加重复元素,属于无效操作
boolean b2=s.isEmpty
System.out.println(b2);
Iterator<String> it=s.iterator(); //iterater()方法用于生成一个迭代器对象,用于遍历s
while(it.hasNext()){
String s1=it.next();
System.out.println(s1);
}
s.remove("a");
int l=s.size();
System.out.println("clear()之前s的长度是"+l);
s.clear();
int m=s.size();
System.out.println("clear()之后s的长度是"+m);
}
}
上面这段代码演示了HashSet生成类对象的方法,以及HashSet中的一些常用的方法,主要过程为创建HashSet对象,判断对象是否为空,添加元素,依次打印添加的元素,打印对象的长度,清空元素。
2、链表(List)
链表中的元素按照位置进行排序,可以有值重复的元素。列表List和元素Set同属于接口Collection的实现类,List包含的方法和Set类似,由于List中的元素排列有序,List包含方法get()来读取List中的元素,接口List的常用实现类是ArrayList。
import java.util.List;
import java.util.ArrayList;
public class TestList{
public static void main(String args []){
ArrayList<String> al=new ArrayList<String>();
al.add("a");
al.add("b");
al.add("c");
al.add("d");
al.remove(1);//删除第一个元素后,后面的元素替补到删除的元素
import java.util.ArrayList;
public class TestList{
public static void main(String args []){
ArrayList<String> al=new ArrayList<String>();
al.add("a");
al.add("b");
al.add("c");
al.add("d");
al.remove(1);//删除第一个元素后,后面的元素替补到删除的元素
int l=al.size();
System.out.println("al的长度是"+l);
for(int i=0;i<al.size();i++){
String s=al.get(i);
System.out.println(s);
}
}
System.out.println("al的长度是"+l);
for(int i=0;i<al.size();i++){
String s=al.get(i);
System.out.println(s);
}
}
}
由于List中的元素是按顺序排列的,并且ArrayList的类对象al中存在值重复的元素,使用remove()方法删除元素时,若参数仍为元素的值,则删除该值第一次出现的位置的元素,因此要确定删除元素,参数是指定的元素在al中的位置,删除1个元素后,被删除元素后面的元素依次向前移1位,来替补被删除元素留出的空位,使用get()方法获取元素,参数也是指定元素的位置。
3、映射(Map)
接口Map和Iterator一样同属于Java Colletctions Framework,Map的常用实现类是HashMap,声明HashMap的对象需要两个参数,键keys和值value,一个映射不能有重复的键,可以有重复的值,每个键可以映射出多个值。HashMap常用的方法有添加元素put(),put()的第一个参数是键的值,第二个参数是值的值,List和Map用于检索的顺序和键都是唯一的,因此也包含get(),clear(),remove()等与List类似的方法。
import java.util.Map;
import java.util.HashMap;
import java.util.HashMap;
public class TestMap{
public static void main(String args []){
HashMap<String,String> hm= new HashMap<String,String>();//键值对两个参数
Map<String,String> m=hm;
m.put("1","a");//第一个值是键值对的键,第二个值是键值对的值,
m.put("2","b");
m.put("3","c");
m.put("4","d");
m.put("3","e");//键相同,值覆盖
int l=m.size();
System.out.println("m的长度是 "+l);
String s=m.get("3");//键对应的值
System.out.println(s);
}
}
这里是些基础的介绍,更多关于类集框架包含的接口和类的使用方法可以去检索对应java版本的帮助文档
Java SE API Documention。