Java集合

1. 集合

1.1 Java 集合概述

  1. Java集合类存放于 java.util 包中,是一个用来存放对象的容器
  2. 集合只能存放对象。比如你存一个 int 型数据 1放入集合中,其实它是自动转换成 Integer 类后存入的,Java中每一种基本类型都有对应的引用类型
  3. 集合存放的是多个对象的引用,对象本身还是放在堆内存中
  4. 集合可以存放不同类型,不限数量的数据类型
  5. Java 集合可分为 Set、List 和 Map 三种大体系
    Set:无序、不可重复的集合
    List:有序,可重复的集合
    Map:具有映射关系的集合

1.2 HashSet

  1. HashSet 是 Set 接口的典型实现,大多数时候使用 Set 集合时都使用这个实现类。我们大多数时候说的set集合指的都是HashSet
  2. HashSet 按 Hash 算法来存储集合中的元素,因此具有很好的存取和查找性能
  3. HashSet 具有以下特点:
    不能保证元素的排列顺序
    不可重复
    HashSet 不是线程安全的
    集合元素可以使 null
  4. HashSet 集合判断两个元素相等的标准:两个对象通过 equals() 方法比较相等,并且两个对象的 hashCode() 方法返回值也相等。
public class HashCodeDemo {
	public static void main(String[] args) {
		//定义一个集合Set
		Set s = new HashSet();
		Set<Object> set = new HashSet<Object>();//这种和上面的定义方式等价,可以存任意类型的数据
		
		//想集合中添加元素
		s.add("a");
		s.add("b");
		s.add("c");
		s.add("d");
		s.add("d");//不可重复性
		System.out.println(s);//[a, b, c, d]
		
		
		//判断元素是否在集合中
		System.out.println(s.contains("b"));//true
		System.out.println(s.contains("e"));//false
		
		//使用Iterator遍历集合
		Iterator it = s.iterator();
		
		while(it.hasNext()) {//如果集合有下一个元素,就执行
			System.out.println(it.next());//打印下一个元素
		}
		
		//使用for each遍历集合
		for(Object obj:s) {//将集合中每个元素取出来,赋值给obj,直到循环集合中的所有元素
			System.out.println(obj);
		}
		
		System.out.println(s.size());//4
		
		//删除元素
		s.remove("c");
		
		//集合大小
		System.out.println(s.size());//3
		
		//泛型:如果想要集合只能存同样类型的对象,可以使用泛型
		Set<String> st = new HashSet<String>();//如果指定string为集合的泛型,就不能存string类型之外的数据了
		st.add("ab");
		//st.add(1);//不可传入数字,只能传入string类型数据
		
		
	}
}
原文地址:https://www.cnblogs.com/istart/p/11986022.html