一、Java集合
ArrayList来自于List接口。三个比较重要的接口分别为:Iterator迭代器接口,Collection接口,Map接口。
List接口包含两个类:ArrayList,LinkedList。ArrayList为线性结构,这种结构的特点为:读取数据方便,添加、删除数据麻烦。LinkedList为链表结构,这种结构的特点为:读取效率低,添加、删除、修改效率高。在实际的处理过程中,往往把线性结构和链式结构合在一起。读取使用线性结构,保存数据使用链表结构,即读写分离。
在LinkedList链表列表类型中,存在三个变量。引入一个结点类型Node,其中包含前指针prev、后指针next、内容item。添加方法add、删除方法remove、查找方法get、修改方法set。
二、示例代码
import java.util.TreeSet; public class My_TreeSet { public static void main(String[] args) { TreeSet<Integer> mytree = new TreeSet<>(); mytree.add(1); mytree.add(2); mytree.add(4); mytree.add(3); mytree.add(1); mytree.add(2); System.out.println(mytree); } }
import java.util.ArrayList; import java.util.Iterator; public class myIterator { public static void main(String[] args) { ArrayList<Integer> ss=new ArrayList<Integer>(); ss.add(1); ss.add(2); Iterator myiter=ss.iterator(); System.out.println(myiter); System.out.println(myiter.next()); System.out.println(myiter.next()); } }
import java.util.*; public class test_hashMap { public static void main(String[] args) { //Map是值对,必须指定key和value的类型 Map<String,String> maps=new HashMap<>(); maps.put("姓名","张三"); maps.put("年龄","32"); maps.put("性别","男"); //后面key值为“姓名”,就把前面的key值姓名做覆盖 maps.put("姓名","李四"); System.out.println(maps); //遍历map,使用key和value System.out.println("第一种方法遍历map"); //第一种map的遍历方法,使用keySet方法 Set<String> mykeys=maps.keySet(); //遍历这个key,根据key取value for(String key:mykeys){ //里面的变量都是for的全局 System.out.println(key+"————————>"+maps.get(key)); } System.out.println("第二种方法遍历map"); //第二种map的遍历方法,都有一个Iterator,使用迭代器遍历map Set<String> myotherkeys=maps.keySet(); //调用集合set的迭代器,iterator方法获取到这个集合的迭代器 Iterator<String> myiter=myotherkeys.iterator(); //采用遍历迭代器方法 while(myiter.hasNext()){ String key=myiter.next(); //再取value String value=maps.get(key); System.out.println(key+"————————>"+value); } System.out.println("第三种方法遍历map"); //第三种map的遍历方法 Set<Map.Entry<String,String>> myentrys=maps.entrySet(); for(Map.Entry<String,String> entry:myentrys){ String key=entry.getKey(); String value=entry.getValue(); System.out.println(key+"————————>"+value); } System.out.println("第四种方法遍历map"); //第四种map的遍历方法,使用entrySet,用迭代器的形式 Set<Map.Entry<String,String>> myentry=maps.entrySet(); //获取entrySet的迭代器 Iterator myiter1=myentry.iterator(); //迭代器不清楚列表元素的个数 while(myiter1.hasNext()){ Map.Entry<String,String> entry1=(Map.Entry<String,String>)myiter1.next(); String key=entry1.getKey(); String value=entry1.getValue(); System.out.println(key+"————————>"+value); } System.out.println("第五种方法遍历map"); //第五种map的遍历方法,可以通过values获取Map中的所有值 //遍历所有值 Collection<String> myvalues=maps.values(); ArrayList<String> mylist=new ArrayList(myvalues); //遍历所有键 Set<String> myanotherkeys=maps.keySet(); ArrayList<String> mysets=new ArrayList(myanotherkeys); //获取所有键或值的任意一个长度 int len=mysets.size(); //把每个键与每个值做对应 for(int i=0;i<len;i++){ System.out.println(mysets.get(i)+"————————>"+mylist.get(i)); } //删除remove maps.remove("年龄"); System.out.println(maps); //put修改 maps.put("性别","女"); System.out.println(maps); } }
import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class testArray_list { public static void main(String[] args) { //给定java的列数据列表[1,2,4,2,5,3,1,2,3,5],把这个列表去重。 List<Integer> arrs= new ArrayList<Integer>(); arrs.add(1); arrs.add(2); arrs.add(4); arrs.add(2); arrs.add(5); arrs.add(3); arrs.add(1); arrs.add(2); arrs.add(3); arrs.add(5); Set<Integer> mysets=new HashSet<Integer>(arrs); System.out.println(mysets); } }
import java.util.LinkedList; public class testLinkedList { public static void main(String[] args) { LinkedList<Object> linked = new LinkedList<>(); //添加一个元素 linked.add(1); linked.add(2); //查询 System.out.println(linked); //删除 linked.remove(1); //修改 linked.set(0,10); //打印列表 System.out.println(linked.get(1)); } }
import java.util.ArrayList; import java.util.LinkedList; public class testList { public static void main(String[] args) { ArrayList<Integer> mylist = new ArrayList<>(); mylist.add(1); mylist.add(2); mylist.add(1); mylist.add(1); System.out.println(mylist); LinkedList<Integer> mylists = new LinkedList<>(); mylists.add(1); mylists.add(2); mylists.add(1); mylists.add(1); System.out.println(mylists); } }
import java.util.HashSet; import java.util.Set; public class testSet { public static void main(String[] args) { Set<Integer> mysets = new HashSet<>(); mysets.add(1); mysets.add(2); mysets.add(1); mysets.add(1); System.out.println(mysets); } }
三、运行结果
需要完整版资源请访问博主个人码云地址:JavaSS: Java实训