Java学习手记1——集合】的更多相关文章

一.什么是集合 集合是对象的集合,就像数组是数的集合.集合是一种容器,可以存放对象(可以是不同类型的对象). 二.集合的优点(为什么要用集合) 当然,在java里,可以使用数组来存放一组类型相同的对象.但是数组存放对象有两个缺点(集合优点): 数组大小是固定的:数组的一旦创建,大小则是固定的.在要存放的对象个数不可知或者超过数组容量的情况下,不适用. 数组存放的对象个数不可知:数组的内存放了多少个对象不可以得知. 三.集合的实现 java中集合主要由两个接口实现:Collection和Map,C…
Java学习笔记之---集合 (一)集合框架的体系结构 (二)List(列表) (1)特性 1.List中的元素是有序并且可以重复的,成为序列 2.List可以精确的控制每个元素的插入位置,并且可以删除指定位置的元素 3.List的两个主要实现类是ArrayList和LinkedList (2)Arraylist 1.ArrayList底层是由数组实现的 2.动态增长,以满足应用程序的需求 3.在列表尾部插入和删除非常有效 4.更适合查找和更新元素 5.元素允许为null (3)List常用方法…
集合(Collection)(掌握) (1)集合的由来? 我们学习的是Java -- 面向对象 -- 操作很多对象 -- 存储 -- 容器(数组和StringBuffer) -- 数组而数组的长度固定,所以不适合做变化的需求,Java就提供了集合供我们使用. (2)集合和数组的区别? A:长度区别 数组固定 集合可变 B:内容区别 数组可以是基本类型,也可以是引用类型 集合只能是引用类型 C:元素内容 数组只能存储同一种类型 集合可以存储不同类型(其实集合一般存储的也是同一种类型) (3)集合的…
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 需求:从三国演义中评选出四个最帅的武将,并存储下来 // 因为具备了面向对象的思想,所以创建四个对象来存储 Hero hero1 = new Hero("张飞", 18); Hero hero2 = new Hero("赵云", 16); Hero hero3 = new Hero(&q…
集合(Collection) 1. 什么是集合? 集合是一组对象组成的一个整体,又称为容器,集合类属于java.util包.集合不同于数组的地方在于,一是它的容量是可变的,二是集合中只能存储对象,不能存储基本数据类型 Java的集合类库有一大一小两派,一大由Collection接口带领,一小由Map接口带领. 2. Collection接口 Collection接口下有两大分支,分别为List接口和Set接口.注意,Collection是接口,而Collections则是java.util包下的…
集合体系 一.数据结构 List集合储存数据结构 <1>堆栈结构 特点:先进后出 <2>队列结构 特点:先进先出 <3>数组结构 特点:查询快,增删慢 <4>链表结构 特点:增删快,查询慢 二.List接口 Java.util.List 接口(集合)extends Collection 接口 List接口的特点: 允许存储重复元素 是一个有序集合(存储元素的顺序和取出元素的顺序一致)存123 取出123 有索引,包含一些带索引的特有方法(有三种遍历方式:迭代…
集合 学习集合的目标: 会使用集合存储数据 会遍历集合,把数据取出来 掌握每种集合的特性 集合和数组的区别 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型值.集合存储的都是对象.而且对象的类型可以不一致,在开发中一般当对象多的时候使用集合进行存储. 集合框架 JAVASE提供了满足各种需求的API,在使用这些API前,先了解其继承与接口操作架构,才能了解何时采用哪个类,以及类之间如何彼此合作,从而达到灵活应用. 集合按照其存储结构可以分为两,分别是单…
package p2; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ToArray { public static void main(String[] args) { /* * 集合转数组 * 使用的是Collection接口中的toArray方法. * 集合转成数组:可以对集合中的元素操作方法进行限定,不允许对其进行增删 * * * toArrays方法需要传…
import java.util.ArrayList; import java.util.Iterator; import cn.itcast.p1.bean.Person; public class ArrayListTest2 { public static void main(String[] args) { ArrayList al = new ArrayList(); al.add(new Person("lisi1",21)); al.add(new Person(&quo…
Collection接口集合中存储的只是对象的引用,不是对象本身. 1.ArrayList<E>类1.1ArrayList和Collection的关系 public interface List<E>extends Collection<E> public class ArrayList<E> implements List<E> 1.2构造方法 ArrayList() 构造一个初始容量为 10 的空列表. ArrayList(Collectio…
/* * 思路: * A:创建一个HashMap集合 * B:创建一个ArrayList集合 * C:创建花色数组和点数数组 * D:从0开始往HashMap里面存储编号,并存储对应的牌同时往ArrayList里面存储编号即可. * E:洗牌(洗的是编号) * F:发牌(发的也是编号,为了保证编号是排序的,就创建TreeSet集合接收) * G:看牌(遍历TreeSet集合,获取编号,到HashMap集合找对应的牌) */ package com.swust.集合; import java.ut…
集合 集合介绍: 由于数组中存放对象,对对象操作起来不方便.java中有一类容器,专门用来存储对象. 集合与数组的区别: 1.数组的长度固定的,而集合长度时可变的 2.数组只能储存同一类型的元素,而且能存基本数据类型和引用数据类型.集合可以存储不同类型的元素,只能存储引用数据类型 Collection接口描述: java.util.Collection 接口是集合中的顶层接口 Collection接口常用的子接口有List 接口和Set接口 List接口中常用的子类有:ArrayList类(数组…
package cn.temptation; import java.util.HashSet; import java.util.Set; public class Sample01 { public static void main(String[] args) { /* * 接口 Set<E>:一个不包含重复元素的 collection. * * 特点: * 1.无序:指的是Set显示其元素的顺序 与 放入元素的顺序可能不一致 * 2.唯一:放入其中的元素是唯一的 */ Set<S…
一.集合的输出 迭代输出:Iteratror接口 在输出集合时,最标准的方法是使用迭代器迭代输出. 1,List中的迭代器. Iterator中包含三个方法: hasNex()t判断集合内是否有元素存在. next()返回当前元素,并让游标指向下一元素. remove删除next返回的当前元素. 我们首先来看前两个方法. import java.util.ArrayList; import java.util.Iterator; import java.util.List; public cla…
NO 方法名称 描述 1 public boolean add(E e) 向集合中保存数据 2 public void clear() 清空集合 3 public boolean contains(Object o) 查询集合之中是否有指定对象 ,该方法需要equals()方法支持 4 containsAll(Collection<?> c)   5 boolean remove(Object o)   6 boolean removeAll(Collection<?> c)  …
一.线程的概念 CPU执行程序,就好比一个人在干事情一样,同一个时间你只能做一件事情,但是这样的效率实在是太低了,在你用电脑的时候,听歌就不能浏览网页,看电影就不能下载视频,你想想是不是很蛋疼. 所以为了解决这个问题,CPU设计成了分时处理的方式,即不同的时间CPU做不同的事情,这样就大大提高了效率,能这样做的原因是因为CPU相对于人的接收信息的速度,快得多!也就是说,你边听歌边浏览网页,看上去好像音乐播放器和浏览器两个程序在同时工作,其实他们是分时在工作,即播放器工作一会,浏览器工作一会,这样…
package 测试; import java.util.Comparator; public class ComparatorByLength implements Comparator { //定义比较器 @Override public int compare(Object o1, Object o2) { String s1 = (String)o1; String s2 = (String)o2; int temp = s1.length()-s2.length(); return t…
public class Person implements Comparable{ private String name; private int age; public Person(){ super(); } public Person(String name, int age) { super(); this.name = name; this.age = age; } @Override public int hashCode() { return name.hashCode()+a…
一.List<E>接口(超级接口Collection,List比Collection多重载了一些索引作为形参的方法)1.实现类ArrayList\LinkedListArrayList顺序存储,易读取,难增删LinkedList链式存储,易增删,难读取2.List的一些方法void add(int index, E element) 将指定元素插入(其后元素顺延一个位置)到指定位置,注意index不能超过列表的size() E get(int index) 返回列表指定索引位置的元素(Coll…
集合是类,用来存储多个数据,有属性.方法 集合是一个可变数组,保存相同元素并且长度可变 1. 体系 (1)Collection:存储一个一个的值 Iterable: Iterable<T> iterator() 返回一个组T类型的元素上进行迭代的迭代器 用来遍历元素的对象 Collection子接口:List.Set List 特点:元素可重复,有序(有序号的),完全可以使用List替换数组 有序:放进去的顺序和拿出来的顺序是一样的 Set 特点:元素不可重复,无序(无序号的) 无序:放进去的…
List 一个接口,它继承于Collection的接口.它代表着有序的队列.里面的元素是有序的,可以重复,因为该集合的体系有索引. List的实现类 ArrayList:底层数据结构为数组数据结构,特点:查询速度快,增删稍慢,线程不同步.基于数组实现List类. LinkdList:底层数据结构为链表数据结构,特点:增删速度快,查询速度慢.线程不同步.实现List接口. Vextor:底层数据结构为数组数据结构,出现在jdk早起版本,现在被ArrayList取代. Set Set集合类似与一个面…
一.开源项目的搜集 https://www.jianshu.com/p/6c75174e0f07 -- https://github.com/flyleft/tip 二.简单的开源项目 https://github.com/ShawnyXiao/SpringBoot-MyBatis (这个不错) https://github.com/flyleft/jcalaBlog 三.面试题经典搜集 https://github.com/crossoverJie/JCSprout (经典) 四.spring…
1.ArrayList简介 ArrayList是一个数组队列,与java中的数组的容量固定不同,它可以动态的实现容量的增涨.所以ArrayList也叫动态数组.当我们知道有多少个数据元素的时候,我们用传统数组就可以解决问题,可当我们不知道有多少个数据元素的时候我们就可以用ArrayList. 2.继承关系 public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess,…
随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里非常多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发经常使用 HashSet集合 .TreeSet集合 Set集合的元素是不反复且无序 一.HashSet集合 API文档解释:此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持. 它不保证 set 的迭代顺序:特别是它不保证该顺序恒久不变.此类同意使用null 元素. 此类为基本操作提供了稳定性能,注意.此实现不是同步的.…
Java 集合框架 早在Java 2中之前,Java就提供了特设类.比如:Dictionary, Vector, Stack,  Properties 这些类用来存储和操作对象组. 虽然这些类都非常有用,但是它们缺少一个核心的,统一的主题.由于这个原因,使用 Vector 类的方式和使用 Properties类 的方式有着很大不同. 集合框架的设计成要满足以下几个目标. 该框架必须是高性能的.基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的. 该框架允许不同类型的集合,以类似的方式工作…
Iterator接口,翻译成中文是迭代器 迭代器的概念通俗解释: java中有很多的集合,内部有各种存储方法,取出的方式也各不相同,是否可以有一种通用的方式来获取呢? 这种方式类似for循环遍历, 通用获取方式:取出元素之前判断集合中有没有这个元素,如果有,就取出来:继续判断,如果还存在那么继续取出,直到全部取出为止,这种取出就是迭代 迭代器的实现: (将ArrayList集合换成其他的集合,也可以实现) package demo; import java.util.ArrayList; imp…
数据结构 数据结构: 数据结构_栈:先进后出 入口和出口在同一侧 数据结构_队列:先进先出 入口和出口在集合的两侧 数据结构_数组: 查询快:数组的地址是连续的,我们通过数组的首地址可以找到数组,通过数组的索引可以快速的查找某一个元素. 增删慢:数组的长度是固定的,我们想要增加/删除一个元素,必须创建一个新数组,把原数组的数据复制过来 例: int[] arr = new int[]{1,2,3,4}; 要把数组索引是3的元素删除 必须创建一个新的数组,长度是原数组的长度-1 把原数组的其它元素…
Set接口 java.util.Set接口 extends Collection接口 Set接口的特点: 不允许存储重复的元素 没有索引,没有带索引的方法,也不能使用普通的for循环遍历 java.util.HashSet集合 implements Set接口 HashSet特点: 不允许存储重复的元素 没有索引,没有带索引的方法,也不能使用普通的for循环遍历 是一个无序的集合,存储元素和取出元素的顺序有可能不一致 底层是一个哈希表结构(查询的速度非常快) Set<Integer> set…
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多态 第七章 接口与多态 第八章 异常处理 第九章 Collection与Map 第十章 输入/输出 第十一章 线程与并行API 第十二章 Lambda 第十三章 时间与日期 第十四章 NIO与NIO2 第十五章 通用API 第十六章 整合数据库 第十七章 反射与类加载器 第十八章 自定义类型.枚举 补充:Ja…
学习计划第一阶段:    JAVA语言基础知识.包括异常.IO流.多线程.集合类.    要求:异常------掌握try-catch-finally的使用          IO流------掌握字节流.字符流和对象序列化的处理..熟练使用各种输入.输出流类(InputStream.OutputStream.FileInputStream.FileOutputStream.DataInputStream.DataOutputStream.BufferedInputStream.Buffered…