【全面】Java常用类库汇总

List接口:

1.ArrayList:

ArrayList 是 List 接口的子类,此类的定义如

public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, Serializable

其中,arraylist有许多构造方法,例如增加,删除

示例:增加以及取得元素

package org.listdemo.arraylistdemo;

import java.util.ArrayList;

import java.util.List;

public class ArrayListDemo01 {

    public static void main(String[] args) {

        List<String> all = new ArrayList<String>(); // 实例化List对象,并指定泛型类型
        all.add("hello "); // 增加内容,此方法从Collection接口继承而来
        all.add(0, "LAMP ");// 增加内容,此方法是List接口单独定义的
        all.add("world"); // 增加内容,此方法从Collection接口继承而来
        System.out.println(all); // 打印all对象调用toString()方法
    }
}

2.Vector:

与 ArrayList 一样,Vector 本身也属于 List 接口的子类,此类的定义如下:

public class Vector<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, Serializable

这个类和Arraylist接口一样。因此可以按照list接口进行操作

例如:

package org.listdemo.vectordemo;

import java.util.List;

import java.util.Vector;

public class VectorDemo01 {

    public static void main(String[] args) {

        List<String> all = new Vector<String>(); // 实例化List对象,并指定泛型类型

        all.add("hello "); // 增加内容,此方法从Collection接口继承而来

        all.add(0, "LAMP ");// 增加内容,此方法是List接口单独定义的

        all.add("world"); // 增加内容,此方法从Collection接口继承而来

        all.remove(1); // 根据索引删除内容,此方法是List接口单独定义的

        all.remove("world");// 删除指定的对象

        System.out.print("集合中的内容是:");

        for (int x = 0; x < all.size(); x++) { // size()方法从Collection接口继承而来

            System.out.print(all.get(x) + "、"); // 此方法是List接口单独定义的
        }
    }
}

Set接口:

1.HashSet(散列存放)

HashSet 属于散列的存放类集,里面的内容是无序存放的

package org.listdemo.hashsetdemo;
import java.util.HashSet;

import java.util.Set;

public class HashSetDemo01 {

    public static void main(String[] args) {

        Set<String> all = new HashSet<String>(); // 实例化Set接口对象
        all.add("A");
        all.add("B");
        all.add("C");
        all.add("D");
        all.add("E");
        System.out.println(all);
    }
}

输出结果:随机排列

2.TreeSet(有序){可用于排序}

package org.listdemo.treesetdemo01;

import java.util.Set;

import java.util.TreeSet;

public class TreeSetDemo01 {

    public static void main(String[] args) {

        Set<String> all = new TreeSet<String>(); // 实例化Set接口对象\
        all.add("D");
        all.add("X");
        all.add("A");
        System.out.println(all);
    }
}

输出结果为:A D X

Map接口:

1.HashMap

代码示例为查找示例,通过哈希表,可以快速找到所需要的数据

package com.kaikeba;

import java.util.HashMap;
import java.util.Map;

public class Demo3 {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<Integer, String>();
        map.put(1, "张三A");
        map.put(1, "张三B"); // 新的内容替换掉旧的内容
        map.put(2, "李四");
        map.put(3, "王五");
        
        String val = map.get(1);
        System.out.println(val);
        //输出结果是  张三B
        
        
        String val2 = map.get(3);
        System.out.println(val2);
        //输出结果为王五


    }
}

2.Hashtable

Hashtable 是一个最早的 keyvalue 的操作类,本身是在 JDK 1.0 的时候推出的。其基本操作与 HashMap 是类似的。

             *******************hashmap和hashtable的区别*********************

 3.TreeMap(排序的子类)

TreeMap 子类是允许 key 进行排序的操作子类,其本身在操作的时候将按照 key 进行排序,另外,key 中的内容可以 为任意的对象,但是要求对象所在的类必须实现 Comparable 接口

package com.kaikeba;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
public class Demo3 {
    public static void main(String[] args) {
        Map<String, String> map = new TreeMap<String, String>();
        map.put("ZS", "张三");
        map.put("LS", "李四");
        map.put("WW", "王五");
        map.put("ZL", "赵六");
        map.put("SQ", "孙七");
        Set<String> set = map.keySet(); // 得到全部的key
        Iterator<String> iter = set.iterator();
        while (iter.hasNext()) {
            String i = iter.next(); // 得到key
            System.out.println(i + " --:> " + map.get(i));
        }
    }
}
//输出结果
LS --:> 李四
SQ --:> 孙七
WW --:> 王五
ZL --:> 赵六
ZS --:> 张三

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值