1.Collection接口
常用的有两种:
1.List接口下常用实现类
List接口下常用实现类有那些?它们之间的区别?
ArrayList: 相当于一个数组,但是它是一个可变的数组.方便我们查询数据,增删操作不健全.
LinkedList:采用链表方式进行存储,方便我们修改元素数据., 对增删进行了加强.
Vector: 和ArrayList基本一样,但是它是线程安全的.
注意: List接口下包含重复元素.
2.Set接口下常用实现类
Set接口下常用实现类有那些?它们之间的区别?
HashSet: 无序的,不可重复的
TreeSet : 按自然顺序排列的,不可重复的,但是其保存的数据必须有办法比较
对List 和 Set接口进行代码验证:
package cn.pcl.List;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.ListIterator;
/**
* 本段对list接口下实现类进行验证.
*/
public class TestList {
public static void main(String[] args) {
// ArrayList 验证: 1.添加数据 2.删除数据 3.修改数据 4.查询数据
ArrayList<Integer> intArrList = new ArrayList<Integer>(); // 注意基本数据类型使用封装类进行泛型匹配
// 1.添加数据 1876635
intArrList.add(1); intArrList.add(7); intArrList.add(1, 8);
intArrList.add(6); intArrList.add(6); intArrList.add(3); intArrList.add(5);
// 2.删除数据 3
intArrList.remove(5); // 使用位置删除
// 3.修改数据 8-3 set(位置, 修改成什么)
intArrList.set(1, 3);
// 4.查询数据 8的位置 7的位置
int i=-1;
if((i=intArrList.indexOf(8)) != -1) {
System.out.println("8首次出现的位置是: " + i);
} else {
System.out.println("没有查询到:8");
}
if((i=intArrList.indexOf(7)) != -1) {
System.out.println("7首次出现的位置是: " + i);
} else {
System.out.println("没有查询到:7");
}
// 5.循环输出
for(i=0; i<intArrList.size(); i++) {
System.out.print(intArrList.get(i));
}
System.out.println();
//-----------------------------------------ArrayList验证完成--------
// LinkedList 验证: 1.添加数据 2.删除数据 3.修改数据 4.查询数据
LinkedList<Integer> intLinked = new LinkedList<Integer>(intArrList);
// 1.添加数据 1
intLinked.add(1);
// 2.删除数据 6 使用元素值进行删除
intLinked.remove((Integer)6);
// 3.修改数据 位置5->9 set(位置, 修改成什么)
intLinked.set(5, 9);
// 4.查询5首次出现的位置
if((i=intLinked.indexOf(5)) != -1) {
System.out.println("5首次出现的位置是: " + i);
} else {
System.out.println("没有查询到:5");
}
// 5.循环输出
ListIterator<Integer> inedx = intLinked.listIterator();
while(inedx.hasNext()) {
System.out.print(inedx.next());
}
}
}
set验证
package cn.pcl.set;
import java.util.TreeSet;
import java.util.Iterator;
public class TestTreeSet {
public static void main(String[] args) {
TreeSet<String> strTree = new TreeSet<String>();
// 添加元素
if(!strTree.add("A")){
System.out.println("添加失败:A");
};
if(!strTree.add("B")){
System.out.println("添加失败:B-1");
};
if(!strTree.add("C")){
System.out.println("添加失败:C");
};
if(!strTree.add("B")){
System.out.println("添加失败:B-2");
};
if(!strTree.add("BA")){
System.out.println("添加失败:BA");
};
// 删除元素
if( !strTree.remove("C")) { System.out.println("不存在这样的元素");};
// 没有修改指定元素啊
// 查询数据,floor测试
System.out.println(strTree.floor("B"));
// 循环遍历
Iterator<String> iterator = strTree.iterator();
while(iterator.hasNext()) {
System.out.print(iterator.next());
}
}
}
2.Map接口
以后再写到看教程的时间了