zoukankan      html  css  js  c++  java
  • 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类型数据
    		
    		
    	}
    }
    
  • 相关阅读:
    安装python软件出错,解决办法
    vt100
    Navicat 字符集 排序规则设置
    linux 查看进程 ps aux | grep init
    一、网络编程-UDP传输协议及socket套接字使用
    二、飞机大战终极版-巩固面向对象设计项目的思想
    一、利用Python编写飞机大战游戏-面向对象设计思想
    八、递归编程技巧
    七、面向对象之单例设计模式
    六、面向对象之单继承、多继承、重写
  • 原文地址:https://www.cnblogs.com/istart/p/11986022.html
Copyright © 2011-2022 走看看