一  数组

数组可以存储基本数据类型和对象的一种容器,长度固定,所以不适合在对象数量未知的情况下使用。

Arrays : 用于操作数组对象的工具类,里面都是静态方法。

Arrays.asList:把Array 转换成 List,可以作为其他集合类型构造器的参数。

private static void arrayToList() {  

        String[] arr = {"Hello","Hi"};
List<String> list = Arrays.asList(arr);
System.out.println(list);
}

Arrays.binarySearch:在一个已排序的或者其中一段中快速查找。
Arrays.copyOf:扩大数组容量又不改变它的内容
Arrays.copyOfRange:可以复制整个数组或其中的一部分。
Arrays.deepEquals、Arrays.deepHashCode:Arrays.equals/hashCode的高级版本,支持子数组的操作。
Arrays.equals:如果你想要比较两个数组是否相等,应调用这个方法而不是数组对象中的 equals方法(数组对象中没有重写equals()方法,所以这个方法之比较引用而不比较内容)。
Arrays.fill:用一个给定的值填充整个数组或其中的一部分。
Arrays.hashCode:用来根据数组的内容计算其哈希值(数组对象的hashCode()不可用)。
Arrays.sort:对整个数组或者数组的一部分进行排序。也可以使用此方法用给定的比较器对对象数组进行排序。
Arrays.toString:打印数组的内容。

***********************************************************************************************************************************************************************************************************

二  List

List      对象有序,    可重复,

List     拥有一系列和索引相关的方法,查询速度快,插入删除数据速度慢。

  • ArrayList:底层使用的是数组结构,特点:查询速度快,增删操作较慢,而且线程不同步.
                      常用方法:add,addAll,remove,indexOf,subList,contains,isEmpty
  • LinkedList

***********************************************************************************************************************************************************************************************************

三  Set

set      无序        不重复
Set      集合中的对象不按特定的方式排序,只是简单地把对象加入集合中

  HashSet类(散列存放) Java.util.HashSet类实现了Java.util.Set接口

code

TreeSet(有序存放)  描述的是Set的一种变体——可以实现排序等功能的集合

public class TestTreeSet
{
public static void main(String [] args)
{
TreeSet ts=new TreeSet();
ts.add("orange");
ts.add("apple");
ts.add("banana");
ts.add("grape");
Iterator it=ts.iterator();
while(it.hasNext())
{
String fruit=(String)it.next();
System.out.println(fruit);
}
}
}

TestTreeSet

***********************************************************************************************************************************************************************************************************

四  Map

    • HashMap
      基于哈希表的 Map 接口的实现,存储键值对,键是唯一的,允许使用 null 值和 null 键,非同步(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同),同步可以使用Map m = Collections.synchronizedMap(new HashMap(...));
      常用方法:
      1. 添加。 put(key,value):当存储的键相同时,新的值会替换老的值,并将老值返回。如果键没有重复,返回null。 void putAll(Map);
      2. 删除。 void clear():清空 value remove(key) :删除指定键。
      3. 判断。 boolean isEmpty(): boolean containsKey(key):是否包含key boolean containsValue(value) :是否包含value
      4. 取出。 int size():返回长度 value get(key) :通过指定键获取对应的值。如果返回null,可以判断该键不存在。 当然有特殊情况,就是在hashmap集合中,是可以存储null键null值的。
        Collection values():获取map集合中的所有的值。
      5. 遍历Map的方式:

        1、将map 集合中所有的键取出存入set集合。

        Set<K> keySet()   返回所有的key对象的Set集合,再通过get方法获取键对应的值。

        2、 values() ,获取所有的值.

        Collection<V> values()不能获取到key对象

        3、 Map.Entry对象  推荐使用   重点

        Set<Map.Entry<k,v>> entrySet()   将map 集合中的键值映射关系打包成一个对象。

        Map.Entry对象通过Map.Entry 对象的getKey,getValue获取其键和值。

    • HashTable
      底层是哈希表数据结构,不可以存入null键null值,是线程同步的.
      Hashtable 的实例有两个参数影响其性能:初始容量 和加载因子

Java常用集合学习总结的更多相关文章

  1. ------------------java collection 集合学习 ----小白学习笔记,,有错,请指出谢谢

    <!doctype html>java对象集合学习记录 figure:first-child { margin-top: -20px; } #write ol, #write ul { p ...

  2. Java常用集合笔记

    最近事情比较少,闲暇之余温习巩固一下Java的一些基础知识,并做一些笔记, Java常用集合, 主要参考的这篇文章:Java常用集合 ArrayList/Vertor 1. ArrayList 的主要 ...

  3. Java常用类学习笔记总结

    Java常用类 java.lang.String类的使用 1.概述 String:字符串,使用一对""引起来表示. 1.String声明为final的,不可被继承 2.String ...

  4. JAVA常用集合源码解析系列-ArrayList源码解析(基于JDK8)

    文章系作者原创,如有转载请注明出处,如有雷同,那就雷同吧~(who care!) 一.写在前面 这是源码分析计划的第一篇,博主准备把一些常用的集合源码过一遍,比如:ArrayList.HashMap及 ...

  5. java常用集合详解 contains

    java集合是对常用数据集合的封装,差不多就是数组吧,验证某个元素是否在数据集合里,最原始的方法是,用个循环,"某个元素"与数据集合中的每个元素逐个进行比较. java 对常用的一 ...

  6. JAVA 常用集合接口List、Set、Map总结

    java中频繁使用List.Set.Map接口,将其总结如下 它们的继承与实现关系如下: Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└ ...

  7. 链表与哈希表基本概念及Java常用集合

    -链表- 是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成.每个结点包括两个 ...

  8. Java图书管理系统(用Java常用集合实现)

    图书管理系统 一.需求说明 1.功能:登录,注册,忘记密码,管理员管理,图书管理. 2.管理员管理:管理员的增删改查. 3.图书管理:图书的增删改查. 4.管理员属性包括:id,姓名,性别,年龄,家庭 ...

  9. java常用集合总结

    1.线程安全 线程安全就是说多线程访问同一代码,不会产生不确定的结果. 2.List类和Set类List类和Set类是Collection集合接口的子接口.Set子接口:无序,不允许重复.List子接 ...

随机推荐

  1. 二、配置QtDesigner、PyUIC及PyRcc

    配置QtDesigner.PyUIC及PyRcc 安装完PyQt 5 及PyQt5-tools 后,则需要在Pycharm中配置QtDesigner.PyUIC及PyRcc. 配置QtDesigner ...

  2. 03、NetCore2.0下Web应用之搭建最小框架

    03.NetCore2.0下Web应用之搭建最小框架 这里我们不使用VS2017或者CLI命令的方式创建Asp.Net Core 2.0网页应用程序,而是完全手工的一点点搭建一个Web框架,以便更好的 ...

  3. OptionMenu选项菜单

    #选项菜单 from tkinter import * root = Tk() variable=StringVar() variable.set('one') w = OptionMenu(root ...

  4. 使用vue-cli快速搭建大型单页面应用开发环境

    工作环境:terminal,已经全局安装了vue(可使用npm install -g vue) 全局安装vue-cli npm install -g vue-cli 创建一个基于webpack模板的项 ...

  5. MySQL中的查询子句

    查询语句 字句名称 使用目的 select 确定结果集中应该包含那些列 from 指明所要提取数据的表,以及这些表是如何连接的 where 过滤不需要的数据 group by 用于对具有想用列值的行进 ...

  6. JAVA如何实现深拷贝

    protected 域(或方法)微妙的规则 protected 域(或方法)对本包内的所有类可见(当然包括子类),那么,子类可以获得访超类受保护域(或方法)的权利,但是,若子类和超类不在同一个包下,就 ...

  7. [LeetCode] Maximum Average Subarray II 子数组的最大平均值之二

    Given an array consisting of n integers, find the contiguous subarray whose length is greater than o ...

  8. [LeetCode] Increasing Subsequences 递增子序列

    Given an integer array, your task is to find all the different possible increasing subsequences of t ...

  9. 二哥的xss游戏

    断断续续做完了,收获挺多的. 地址:http://xsst.sinaapp.com/xss/ 二哥的xss游戏 第一题http://xsst.sinaapp.com/xss/ext/1.php?umo ...

  10. python3全栈开发-什么是粘包、粘包现象、如何解决粘包

    一.粘包现象 让我们基于tcp先制作一个远程执行命令的程序(1:执行错误命令 2:执行ls 3:执行ifconfig) 注意注意注意: res=subprocess.Popen(cmd.decode( ...