Java语言学习-数据结构接口

来源:互联网 发布:绘制示意图软件 编辑:程序博客网 时间:2024/05/17 02:04

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.添加数据 1876635intArrList.add(1); intArrList.add(7); intArrList.add(1, 8);intArrList.add(6); intArrList.add(6); intArrList.add(3); intArrList.add(5);// 2.删除数据 3intArrList.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.添加数据 1intLinked.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接口

以后再写到看教程的时间了


0 0
原创粉丝点击