Java基础知识之集合

Collection集合

  特点:长度可变,只能存储引用类型,可以存储不同的类型的元素

list

  特点:元素有序(存储和取出的顺序一致),可以重复

  • LinkedList

  数据结构:底层数据结构是数组,查询快,增删慢。线程不安全,效率高

  • ArrayList

  数据结构:底层数据结构是链表,查询慢,增删快。线程不安全,效率高

  • Vector

  数据结构:底层数据结构是数组,查询快,增删慢。线程安全,效率低。  

set

  特点:元素无序,唯一

  • HashSet 

数据结构:底层数据结构是哈希表。哈希表底层依赖两个方法:hashCode()和equals()。
存储数据时的判断顺序:
  1.首先判断对象的hashCode()是否相同。
  2.是:继续走equals(),看其返回值是
    true:说明元素重复了,不添加。
    false:就直接添加到集合。
    否:就直接添加到集合。

用的时候看到Hash结构的集合,我们就可能需要重写hashCode()和equals()。并且,我们也不用自己写,可以自动生成。

  • TreeSet

原文地址:https://www.cnblogs.com/htyj/p/8331503.html

时间: 2024-08-01 10:47:20

Java基础知识之集合的相关文章

Java基础知识:集合

Java 集合 1. Collection Iterator接口: 2. List 有序的 Collection(也称为序列).此接口的用户可以对列表中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素. 正因为List是有序的,相对于Collection,其增加了以下几个方法: 添加: void add(int index, E element) //在列表的指定位置插入指定元素 void addAll(int index, Collec

java基础知识回顾之java集合类-Properties集合

/** java.lang.Object   |--java.util.Dictionary<K,V>      |--java.util.Hashtable<Object,Object>          |--java.util.Properties * @author Administrator *Properties集合:         * 特点:         * 1,该集合中的键和值都是字符串类型.         * 2,集合中的数据可以保存到流中,或者从流加载 

Java基础知识综合练习_使用集合存储_高级银行系统的搭建(注册、登录、存取款、本行转账、跨行转账、销户、特殊操作参数、多个客户对象存入到银行类的集合,多个银行对象存入总测试类集合)

Java基础知识综合练习_使用集合存储_高级银行系统的搭建(注册.登录.存取款.本行转账.跨行转账.销户.特殊操作参数.多个客户对象存入到银行类的集合,多个银行对象存入总测试类集合) 1) 定义bank类 属性有银行名称和存放客户的ArrayList集合, 有开户方法. 销户方法. 存钱方法. 取钱方法. 转账方法(本行转账.跨行转账) 2) 定义customer类 属性有账户名.密码.余额 3) 定义测试类创建一个银行集合用于存放bank对象创建几个bank对象:分别叫华夏银行.工商银行.招商

java基础知识(二)

1.关于static关键字总结: 1.不能在static修饰的方法中引用this变量,只能引用一些静态变量或方法,或new新的对象(可以定义局部变量). 简言之,静态方法或块中,只能引用静态的方法或变量. 2.类中的成员变量(static修饰)有缺省值,而类的定义的方法中的局部变量没有缺省值. 3.在类的构造器中,可以引用任何的静态或非静态的变量和方法,可以在非static方法中调用static方法. 4.static{}块中的代码在类装载中仅执行一次. 5.在7-7,A staticmetho

java基础知识回顾之javaIO类--File类应用:获取指定目录下面的指定扩展名的文件,将文件的绝对路径写入到目的文件当中

/** * File文件综合应用 * 需求:获取指定目录下面,指定扩展名的文件,将文件的绝对路径写到文本文件当中. *  * 思路:1.需要深度遍历.--递归 * 2.遍历的过程中过滤指定扩展名的文件--过滤器FileNameFilter,将文件存入容器中 * 3.将容器中的内容遍历,写入到指定文件中 * */ 代码:  FilenameFilter 过滤器: package com.lp.ecjtu.File.filter; import java.io.File; import java.i

java基础知识回顾之面向对象

一 . 抽象类 什么是抽象类?很简单,就是用abstract关键字修饰,并允许包含未实现方法的类. 什么时候定义抽象类?在有些情况下,可能有些方法无法确定要怎么实现,这时就可以定义抽象类,无法实现的方法定义成抽象方法. 抽象类的特性: 1. 不能实例化,即不能创建对象,只能作为父类被继承. 2. 子类继承一个抽象类后,必须实现父类的抽象方法. 3. 抽象类中可以有抽象方法,也可以不包含抽象方法,但如果包含抽象方法,就必须定义成抽象类. public abstract class Shaoe{ p

Java基础知识(二)

1,字符串 new String("abc")创建了几个对象? 一个或两个,如果常量池中原来有"abc",则只创建一个对象:如果常量池中原来没有字符串"abc",那么就会创建两个对象. String s="abc"; String s1="ab"+"c"; System.out.println(s==s1); 输出 true ,因为"ab"+"c"

Java基础知识:面向对象&类图

类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称.在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责.在定义类的时候,将类的职责分解成为类的属性和操作(即方法).类的属性即类的数据职责,类的操作即类的行为职责.设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分. 1.面向对象特性 1)抽象 2)继承 3)封装 4)多态 2.类图: 在软件系统

java基础知识回顾之javaIO类--File类应用:过滤器接口FilenameFilter和FileFilter

FilenameFilter和FileFilter都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码:通过使用File类中String[] list(FilenameFilter filter)或者public File[] listFiles(FileFilter filter)方法,把FilenameFilter或者FileFilter接口对象作为参数传入,通过实现接口里面的 boolean accept(File dir, String name) 或者boo