java基础学习笔记之集合.doc

时间:2025-02-26

List(ArrayList、Vector、LinkedList)、Map(HashMap、TreeMap、Hashtable)、Set(HashSet、TreeSet)、equals、hashcode

java基础学习笔记之集合

集合(集合中的数据默认都是object类型,最好使用泛型来指定数据类型)

List:常见的有:ArrayList、vecdtor(旧的类,JDK1.2之后又升级的)、LinkedList Map:常见的有:HashMap、Hashtable、TreeMap

Set:常见的有:HashSet、TreeSet

List:List 中允许有内容重复的元素,因为在list中的数据是按照下标来排序的,下标不可能相同 ArrayList,实现了list接口,性能高,采用异步处理,但是线程不安全:

public static void main(String[] args) {

// TODO Auto-generated method stub

List<String> list=new ArrayList<String>();

list.add("a");

list.add("b");

list.add("c");

list.add("a");

for(String s:list){

System.out.println(s);

}

}

Linkedlist链表集合,可以模拟链表、堆栈

public static void main(String[] args) {

// TODO Auto-generated method stub

LinkedList<String> link=new LinkedList<String>();

link.add("aa");

link.add("bb");

link.add("cc");

link.add("dd");

link.add("ee");

int len=link.size();//先将link的长度取出来

for(int i=0;i<len;i++){

System.out.println(link.poll());

}

}

Vector是旧的类,性能低,采用同步处理,线程安全,

List<String> vet=new Vector<String>();

vet.add("a");

vet.add("b");

vet.add(1, "bb");//将bb加到下标为1的元素前面,即加到b前

vet.add("c");

vet.add("hello");

vet.add("world");

vet.remove(0);//删除制定下标的元素

List(ArrayList、Vector、LinkedList)、Map(HashMap、TreeMap、Hashtable)、Set(HashSet、TreeSet)、equals、hashcode

vet.remove("c");//删除制定的元素

for(int i=0;i<vet.size();i++){

System.out.println(vet.get(i));

}

Map也可以使用泛型,map是根据key来获取value的,其中key不可以相同,如果相同,后一个value值将覆盖前一个value值,如下:

Map<String,String> map=new HashMap<String,String>();

map.put("name", "wei");

map.put("age", "21");

map.put("sex", "female");

System.out.println(map.get("name"));//根据key来取value的值

//如果要遍历,通过keySet()这个方法获取所有key的集合

Set<String> keys=map.keySet();

for(String k:keys){

System.out.println(k+" "+map.get(k));//用key来取value值

}

注意:map里有自己的一套算法,所以在输出遍历的结果时,不一定是按照我们添加元素的顺序排列出来的

Hashtable和HashMap 的区别:hashtable是同步处理,性能较低;hashmap是异步处理,性能较高;hashmap可以设置null值,hashtable不能设置null值

,否则会出现空指向异常

Map<String,String> hm=new HashMap<String,String>();

hm.put("name", "aa");

hm.put("age", null);

System.out.println(hm);

输出的结果为:{age=null, name=aa}

Map<String,String> htm=new Hashtable<String,String>();

htm.put("name", "aa");

htm.put("age", null);

System.out.println(htm);

输出结果报错:Exception in thread "main" http://ng.NullPointerException 空指针异常

属性操作类:Properties是专门操作属性文件的类

对属性的操作:

public static void main(String[] args) {

Properties ppt=new Properties();

ppt.setProperty("title", "Java");

List(ArrayList、Vector、LinkedList)、Map(HashMap、TreeMap、Hashtable)、Set(HashSet、TreeSet)、equals、hashcode

ppt.setProperty("author", "xiaoyan");

ppt.setProperty("publisher", "qinghua");

ppt.setProperty("time", "1991-01-01");

System.out.println("可以查到的属性:"+ppt.getProperty("title"));

System.out.println("查不到的属性:"+ppt.getProperty("name"));//查不到的属性,返回默认值

System.out.println("查不到的属性:"+ppt.getProperty("age","没有此属性的记录")); }

//将属性写入普通文件中,并从文件中将内容读取出来,

//将内容向普通文件中保存

Properties pro=new Properties();

pro.setProperty("title", "Java");

pro.setProperty("author", "xiaoyan");

pro.setProperty("publisher", "qinghua");

File file=new File("e:"+File.separator+"e.txt");

OutputStream out=new FileOutputStream(file);

//pro.store(new FileOutputStream(new File("e:"+File.separator+"e.txt")), "Area Info"); pro.store(out, "Area Info");

//从文件中将内容读出

Properties pro1=new Properties();

InputStream input=new FileInputStream(file);

pro1.load(input);

System.out.println(pro1.getProperty("title"));

System.out.println(pro1.getProperty("author"));

System.out.println(pro1.getProperty("publisher"));

//先保存到xml文件中,在将其读出来

//将内容保存到XML中

Properties ppt1=new Properties();

File file=new File("e:"+File.separ …… 此处隐藏:4369字,全部文档内容请下载后查看。喜欢就下载吧 ……

java基础学习笔记之集合.doc.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219