Java集合类学习笔记
前言:下载Java的API,需要使用接口时,可在API中进行查询。
1、collection接口:可理解为一个动态的对象数组,不同的是集合中对象的内容可以任意扩充。
特点:性能高;易扩展和修改。
常用子类接口:List、Set、Queue。
2、List接口有ArrayList、vector子类,两者的使用方法相同,不同的是ArrayList是异步处理方式,性能高,但是非线程安全;vector同步处理方式,性能低,但是线程安全。在不要求线程安全的时候采用ArrayList子类。
使用实例:
package com.webdashen.list;
import java.util.ArrayList;
import java.util.List;
public class listdemo01 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List<String> lists =null;
lists=new ArrayList<String>();//接口不能实例化,用其子类进行实例化
lists.add("Hello");//集合对象内容任意,且对象可重复
lists.add("Xueshi");
lists.add("Xueshi");
for (int i=0;i<lists.size();i++)
//for (int i=0;i<2;i++)
{
System.out.println(lists.get(i));
}
lists.remove(2);//删除指定位置对象
System.out.println("After Remove-----");
for (int i=0;i<lists.size();i++)
//for (int i=0;i<2;i++)
{
System.out.println(lists.get(i));
}
System.out.println("集合是否为空:"+lists.isEmpty());
System.out.println("Xueshi是否存在:"+lists.indexOf("Xueshi"));
System.out.println("Xue是否存在:"+lists.indexOf("Xue"));//这两条语句可以测试出,集合中对象的存在方式
}
}
结果:
Hello
Xueshi
Xueshi
After Remove-----
Hello
Xueshi
集合是否为空:false
Xueshi是否存在:1
Xue是否存在:-1
3、set,不能加入重复元素,但是可以排序。子类包括HashSet(散列存放),TreeSet(顺序存放)。
实例:
package com.webdashen.list;
import java.util.HashSet;
import java.util.Set;
public class setdemo01 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Set<String>s=null;
/*s=new TreeSet<String>();
s.add("B");
s.add("A");
s.add("C");
s.add("D");
s.add("E");
s.add("F");
System.out.println(s);*/
s=new HashSet<String>();
s.add("A");
s.add("B");
s.add("C");
s.add("D");
s.add("E");
s.add("F");
System.out.println(s);
}
}
4、Iterator接口:专门的迭代输出接口,将元素进行一个接一个的检查,有内容就取出。
5、Map接口:以键值对形式存储,无序,不允许重复。具体使用时可参见API介绍。