java常见集合

在这里插入图片描述

ArrayList集合

        List list=new ArrayList();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add("11");
        list.add("22");
        System.out.println("list="+list);

输出list=[1, 2, 3, 11, 22]

LinkedList集合

        LinkedList<String> lList = new LinkedList<String>();
        lList.add("1");
        lList.add("2");
        lList.add("3");
        lList.add("4");
        lList.add("5");
        System.out.println("lList="+lList);
        System.out.println("链表的第一个元素是 : " + lList.getFirst());
        System.out.println("链表最后一个元素是 : " + lList.getLast());

输出lList=[1, 2, 3, 4, 5] 链表的第一个元素是 : 1 链表最后一个元素是 : 5

HashSet集合

        //创建sites对象,用于保存字符串元素
        HashSet<String> sites =  new HashSet<String>();

        //add()方法添加元素
        sites.add("red");
        sites.add("blue");
        sites.add("green");
        sites.add("yellow");
        sites.add("red");    //元素重复,不会被添加,集合中元素是唯一的

        System.out.println(sites);

        //contains()方法判断元素是否在集合中
        System.out.println(sites.contains("red"));

        //remove()方法删除集合中的元素
        sites.remove("red");
        System.out.println(sites);

        //删除集合中所有元素可以使用clear()方法
        sites.clear();
        System.out.println(sites);

        //后续还要操作,重新添加元素
        //add()方法添加元素
        sites.add("red");
        sites.add("blue");
        sites.add("green");
        sites.add("yellow");

        //size()方法获取集合中元素数量
        System.out.println(sites.size());

        //迭代HashSet
        for(String i : sites){
            System.out.println(i);
        }

输出

[red, green, blue, yellow]
true
[green, blue, yellow]
[]
4
red
green
blue
yellow

TreeSet集合

          TreeSet ts = new TreeSet();
          ts.add("C");
          ts.add("A");
          ts.add("B");
          ts.add("E");
          ts.add("F");
          ts.add("D");
          System.out.println(ts);

输出[A, B, C, D, E, F]

Set<Integer> set = new TreeSet<>();
		set.add(300);
		set.add(200);
		set.add(600);
		
		//按照元素递增的方式排好序
		for (Integer m : set) {
			System.out.println(m);
		}

输出

200
300
600

如果TreeSet放的元素类型是自己写的类,这个类必须实现Comparable接口

import java.util.Set;
import java.util.TreeSet;
 
public class Test {
	public static void main(String[] args) {
		Set<Emp> set = new TreeSet<>();
		set.add(new Emp(100, "张三", 50000));
		set.add(new Emp(200, "李四", 5000));
		set.add(new Emp(150, "王五", 6000));
		set.add(new Emp(50, "赵六", 6000));
		
		for (Emp emp : set) {
			System.out.println(emp);
		}
	}
}
 
class Emp implements Comparable<Emp>{//泛型里面是Emp,因为是Emp对象和Emp对象比较
	int id;
	String name;
	double salary;
	
	public Emp(int id, String name, double salary) {
		super();
		this.id = id;
		this.name = name;
		this.salary = salary;
	}
 
	@Override
	public String toString() {
		return "Emp [id=" + id + ", name=" + name + ", salary=" + salary + "]";
	}
 
	@Override
	public int compareTo(Emp o) {
		/**
		 * 返回:
		 * 负数-小于
		 * 零-等于
		 * 正数-大于
		 * 一般用1、-1、0
		 */
		if(this.salary > o.salary) {
			return 1;
		}
		else if (this.salary < o.salary) {
			return -1;
		}else {//如果2个人工资一样,用id来排序
			if (this.id > o.id) {
				return 1;
			}
			else if (this.id < o.id) {
				return -1;
			}
			else {
				return 0;
			}
		}
	}
}

输出

Emp [id=200, name=李四, salary=5000.0]
Emp [id=50, name=赵六, salary=6000.0]
Emp [id=150, name=王五, salary=6000.0]
Emp [id=100, name=张三, salary=50000.0]

HashMap集合

        Map<String, String> maps = new HashMap<String,String>();
        //给map中添加元素
        maps.put("邓超", "孙俪");
        maps.put("李晨", "范冰冰");
        maps.put("刘德华", "柳岩");
        System.out.println("maps="+maps);

输出maps={邓超=孙俪, 李晨=范冰冰, 刘德华=柳岩}

TreeMap集合

        Map<Emp,String> tm=new TreeMap<>();         //Map<>可能是内部的一个方法,泛型KV,V是值,K代表名片或者钥匙,只不过这个里面把一个类当做了K
        tm.put(new Emp(100,"张珊",990000),"bbb");
        tm.put(new Emp(120,"李思",100000),"aaa");
        tm.put(new Emp(180,"韩处",200000),"aaa");
        tm.put(new Emp(110,"王物",50000),"ccc");

//用这个方法打印每一个Emp类,这里这个keySet可以理解为返回一个已经经过排序的key数组。
        for (Emp key:tm.keySet()) {
            System.out.println(key);
        }

输出

王物----110--50000.0
李思----120--100000.0
韩处----180--200000.0
张珊----100--990000.0

Hashtable集合

		Hashtable<String, Integer> table = new Hashtable<String, Integer>();

		//[1]添加元素
		table.put("zhangsan", 22);
		table.put("lisi", 33);
		table.put("wangwu", 44);

		//[2]toString()方式打印
		System.out.println(table.toString());

		//[3]Iterator遍历方式1--键值对遍历entrySet()
		Iterator<Entry<String, Integer>> iter = table.entrySet().iterator();
		while(iter.hasNext()){
			Map.Entry<String, Integer> entry = (Map.Entry<String, Integer>)iter.next();
			String key = entry.getKey();
			int value = entry.getValue();
			System.out.println("entrySet:"+key+" "+value);
		}

		System.out.println("====================================");

		//[4]Iterator遍历方式2--key键的遍历
		Iterator<String> iterator = table.keySet().iterator();
		while(iterator.hasNext()){
			String key = (String)iterator.next();
			int value = table.get(key);
			System.out.println("keySet:"+key+" "+value);
		}

		System.out.println("====================================");

		//[5]通过Enumeration来遍历Hashtable
		Enumeration<String> enu = table.keys();
		while(enu.hasMoreElements()) {
		    System.out.println("Enumeration:"+table.keys()+" "+enu.nextElement());
		}

输出

{zhangsan=22, lisi=33, wangwu=44}
entrySet:zhangsan 22
entrySet:lisi 33
entrySet:wangwu 44
====================================
keySet:zhangsan 22
keySet:lisi 33
keySet:wangwu 44
====================================
Enumeration:java.util.Hashtable$Enumerator@5e9f23b4 zhangsan
Enumeration:java.util.Hashtable$Enumerator@4783da3f lisi
Enumeration:java.util.Hashtable$Enumerator@378fd1ac wangwu
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值