java集合的基本使用

来源:互联网 发布:南洋理工大学知乎 编辑:程序博客网 时间:2024/04/29 13:01

java集合的基本使用

package com.collection.list;import java.util.*;public class VectorDemo0 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub//List<String> lists = null;//Vector线程安全  但是效率较低 ArrayList效率高lists = new Vector<String>();lists.add("A");lists.add("B");lists.add("A");for(int i = 0; i < lists.size(); i++ ){System.out.println(lists.get(i));}lists.remove(1);for(int i = 0; i < lists.size(); i++ ){System.out.println(lists.get(i));}System.out.println("当前是否为空:"+lists.isEmpty());System.out.println("当前是否存在:"+lists.indexOf("H"));System.out.println("当前是否存在:"+lists.indexOf("A"));}}package com.collection.list;import java.util.*;public class listDemo0 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub//List是collection的子接口  接口不能直接实例化List<String>  lists  = null;//ArrayList继承List接口  Vector也是继承List  //ArrayList和Vector是List子接口的两种实现lists = new ArrayList<String>();//ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。lists.add("A");lists.add("B");lists.add("C");lists.add("A");for(int i = 0;i < lists.size();i++){System.out.println(lists.get(i));}lists.remove(1);System.out.println("删除操作之后:");for(int i = 0;i < lists.size();i++){System.out.println(lists.get(i));}System.out.println("当前arraylist是否为空:"+lists.isEmpty());System.out.println("查询是否存在元素'D':"+lists.indexOf("D"));//存在多个只返回第一个所在的位置System.out.println("查询是否存在元素'A':"+lists.indexOf("A"));return ;}}package com.collection.list;import java.util.*;public class setDemo0 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubh//Set<String> s = null;//hash表  内部元素不能重复  因为hashset是通过hashmap实现的 //不保证该顺序恒久不变,允许使用 null 元素  线程不安全  内部元素不重复//基本操作(add、remove 和 contains)提供受保证的 常数 时间开销s = new HashSet<String>();s.add("A");s.add("B");s.add("D");s.add("C");s.add("F");s.add("E");s.add(null);System.out.println(s);System.out.println(s.contains("A"));s.remove("A");s = new TreeSet<String>(); //基本操作(add、remove 和 contains)提供受保证的 log(n) 时间开销   顺序固定//红黑树  还是AVL树   ???  内部元素不重复   Integer能排序(有默认顺序), String能排序(有默认顺序)//treeset是有treemap实现的s.add("A");s.add("B");s.add("C");s.add("D");s.add("F");s.add("E");s.add("E");//s.add(null);  //treeset的元素不能为空System.out.println(s);return ;}}package com.collection.list;import java.util.*;public class IteratorDemo0 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubList<String> lists = null;//LinkedList是链表  也是实现了list的接口lists = new LinkedList<String>();lists.add("A");lists.add("B");lists.add("C");lists.add("D");Iterator<String> iter = lists.iterator();//迭代器只有三个函数  分别是两个和removewhile(iter.hasNext()){String str = iter.next();//取值只能一次  因为下一次取得的 是下一个值if("A".equals(str)){System.out.println("删除");}else{System.out.println(str);//}}return ;}}package com.collection.list;import java.util.*;public class MapDemo0 {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubMap<String,String> maps = new HashMap<String,String>();maps.put("A","1203");maps.put("B","1223");maps.put("C","1233");maps.put("D","1213");String str = maps.get("A");if(maps.containsKey("A")){System.out.print(str);}Set<String> s = maps.keySet();Iterator<String>  iter = s.iterator();while(iter.hasNext()){System.out.println(iter.next());}}}


0 0
原创粉丝点击