java复习整理之集合

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、ios培训、.Net培训</a>、期待与您
交流!------

java复习整理之集合:

Collection:集合中的最顶层接口,提供了一些操作集合的共性方法
添加:
boolean add(E e)
boolean addAll(Collection<? extends E> c)
删除:
void clear()
boolean remove(Object o)
boolean removeAll(Collection<?> c)
获取:
Iterator<E> iterator()
int size()
判断:
boolean contains(Object o)
boolean containsAll(Collection<?> c)
boolean isEmpty()

List:元素是有序的,可以重复,因为该集合体系有索引
--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度快,但是增删稍慢
--LinkedList:底层使用的是链表数据结构。特点:增删速度快,查询稍慢
--Vector:底层是数组结构,线程同步

Set:元素是无序,元素不可重复
--HashSet:底层数据结构,哈希表
--LinkedHashSet
--TreeSet:底层数据结构,二叉树

Map:表示的是映射关系,以键值对形式存储,要保证键的唯一性
--HashMap
--基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了不同步和
允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
--TreeMap
--它实现SortedMap 接口的基于红黑树的实现。此类保证了映射按照升序顺序排列关键字,根据使用的构造方法不同,可
能会按照键的类的自然顺序 进行排序(参见 Comparable),或者按照创建时所提供的比较器进行排序
--Hashtable
--此类实现一个哈希表,该哈希表将键映射到相应的值。任何非 null 对象都可以用作键或值
Map集合的两种取出方式:
1,Set<k> keySet:将map中所有的键存入到Set集合,因为Set具备迭代器
所以可以用迭代的方式取出键,再根据get方法,获取对应的值

2,Set<Map.Entry<k,v>> entrySet:将map集合中的映射关系存入到了Set集合中
而这个关系的数据类型是:Map.Entry

框架图如下:

Comparable接口:
此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类
的compareTo方法被称为它的自然比较方法,简而言之该接口是一个按照自然顺序排序的,实现Comparable就能按自然
顺序排序

Collections类:
Arrays类是用来操作数组的,它的方法全部都是静态的。
Collections类是用来操作集合的,它的方法全部都是静态的。
Arrays可以使用sort方法对数组进行排序。
Collections也可以使用sort方法对集合进行排序。

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、ios培训、.Net培训</a>、期待与您
交流!------

时间: 2024-10-23 02:45:42

java复习整理之集合的相关文章

Java复习第三天---集合框架的相关知识

集合框架总览: Collection 接口常用方法 //1.add()向集合中添加数据 c.add(apple01); c.add(apple02); c.add(apple03); c.add(apple04); c.add(apple05); //2.isEmepty()检测当前集合是否为空 boolean empty = c.isEmpty(); System.out.println("is empty:"+empty); //3.size()返回当前集合的长度 int size

[转]Java中常用的集合—初学者的你不可错过的精编整理

集合一直都是项目中非常常见的,我是一个Android开发者,集合对于我来说,在项目中使用的次数非常之多,因为使用的多,熟能生巧,所以这里呢!就给那些初学者整理一下Java当中常用的集合吧!   因为此篇文章是给初学者看到,所以对于集合的认识,我们就不从内存的角度去分析了,等你Java学到一定的时候,再去学习一下集合的底层实现,这会让成为一名更加牛的Java程序员.   在整理之前呢,我们先聊一聊为什么集合会这么常用?,集合这个概念,我们初次接触是在高中的数学当中,高中的集合具有以下知识点:  1

java笔记整理

Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, Ejb, java和模式 Linux/Unix笔记 inode :存储编号(地址) ls -k:查看磁盘分区 ls -li:显示当前文件的inode号. 目录的大小跟文件的大小有关,跟目录里的文件(目录)数量无关. 一行多个命令的话,中间用分号分开.如:pwd;cal;date last | grep

java 复习001

java 复习001 比较随意的记录下我的java复习笔记 ArrayList 内存扩展方法 分配一片更大的内存空间,复制原有的数据到新的内存中,让引用指向新的内存地址 ArrayList在内存不够时默认是扩展为1.5倍 + 1个 ArrayList,LinkedList,Vector 区别 Vector内存扩展和ArrayList一样,不过Vector是默认扩展为2倍 Vector支持线程的同步,因此牺牲了访问性能 ArrayList,Vector都是使用数组实现,插入删除效率低 Linked

java复习汇总之面试篇

这些个人感觉都是基础,希望看的园友不要喷. 1.什么是servlet线程安全,如何解决? 2.spring事物管理,在项目中你是怎么管理事物的? 3.java中的有几种线程? 4.java有几种锁? 5.怎么理解java中的多态,项目中何时用到抽象类? 6.如何处理js,sql注入? 7.struts2拦截器的原理? 8.如何理解spring AOP? 11.java中常用的集合,在项目中用到时,有什么需要注意的? 12.如果优化项目中sql,为什么要那样优化? 13.java性能优化? 14.

Java笔记(15):集合框架(01)

1.对象数组的概述和使用 1 package cn.itcast_01; 2 3 public class Student { 4 // 成员变量 5 private String name; 6 private int age; 7 8 // 构造方法 9 public Student() { 10 super(); 11 } 12 13 public Student(String name, int age) { 14 super(); 15 this.name = name; 16 thi

java求两个集合的差集

public static void main(String[] args) {Set set = new HashSet();Set set1 = new HashSet();set.add("sanny");set.add("mary");set.add("bill");set.add("tom");set.add("tony");set.add("mark");set.add(&q

Java PaintJFrame (整理)

1 package demo; 2 3 4 5 import java.awt.BorderLayout; 6 import java.awt.Color; 7 import java.awt.FlowLayout; 8 import java.awt.Graphics; 9 import java.awt.Toolkit; 10 import java.awt.event.MouseAdapter; 11 import java.awt.event.MouseEvent; 12 import

Java SharinganJPanel (整理)

  1 /** 2 * Java SharinganJPanel (整理) 3 * 4 * 2016-1-2 深圳 南山平山村 曾剑锋 5 * 设计声明: 6 * 1.虽然岸本是日本人,而我个人作为其模仿者,依然想表示个人对其的敬意,希望作品 7 * 不会玷污写轮眼的名声. 8 * 2.由于本次设计包含过多数学计算,所以强烈建议您通过<注意事项>中的5查看图是 9 * 如何设计的,先不要看源码,然后自己试图去设计,而您仅需要知道:计算机计算 10 * 开方.三角函数.反三角等会造成误差,仅此而