JavaSE学习总结第17天_集合框架3】的更多相关文章

  17.01 ArrayList集合的toString()方法源码解析 代码: Collection c = new ArrayList(); c.add("hello"); c.add("world"); c.add("java");   System.out.println(c);    输出c时默认调用的是c的toString()方法 A:Collection c = new ArrayList(); 这是多态,所以输出c的 toStri…
  15.01 对象数组的概述和使用 public class Student { // 成员变量 private String name; private int age; // 构造方法 public Student() { super(); } public Student(String name, int age) { super(); this.name = name; this.age = age; } // 成员方法 // getXxx()/setXxx() public Stri…
  16.01 ArrayList存储字符串并遍历 ArrayList类概述:底层数据结构是数组,查询快,增删慢,线程不安全,效率高 ArrayList类是List 接口的大小可变数组的实现.实现了所有可选列表操作,并允许包括 null在内的所有元素.除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小. 例: public class Practice { public static void main(String[] args) { ArrayList al =…
  18.01 Map集合概述和特点 Map接口概述:将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值 Map接口和Collection接口的不同 1.Map是双列的,Collection是单列的 2.Map的键唯一,Collection的子体系Set是唯一的 3.Map集合的数据结构值针对键有效,跟值无关,Collection集合的数据结构是针对元素有效 18.02 Map集合的功能概述 成员方法: 1.V put(K key,V value): 将指定的值与此映射中的…
javaSE学习笔记(17)---锁 Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率.本文旨在对锁相关源码(本文中的源码来自JDK 8).使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景. Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分组归类,再使用对比的方式进行介绍,帮助大家更快捷的理解相关知识.下面给出本文内容的总体分类目录: 一.java中的锁 什么是锁 在计算机科学中,锁(lock)与互斥(mutex)是一种…
接口 一.接口的基本概念 关键字为:Interface,在JAVA编程语言中是一个抽象类型,是抽象方法的集合.也是使用.java文件编写.   二.接口声明 命名规范:与类名的命名规范相同,通常情况下以大写字母 I 开头,与类作于区分.接口的访问修饰符只能使用public或者缺省修饰,不能使用protected和private修饰.   接口中的所有属性只能是公开的静态的常量: public static final 数据类型 属性名 :(public/static/final可以省略)   接…
摘自:http://www.runoob.com/java/java-collections.html Java 集合框架 早在Java2之前,java 就提供了特设类.比如:Dictionary,Vector,Stack,和Properties这些类用来存储和操作对象组. 虽然这些类都非常有用,但是它们缺少一个核心的,统一的主题.由于这个原因,使用Vector类的方式和使用Properties类的方式有着很大不同. 集合框架被设计成要满足以下几个目标. 该框架必须是高性能的.基本集合(动态数组…
集合框架 有事我们会需要一个能够动态的调整大小的数组,比如说要添加新员工但是数组已经满了,并且数组的大小是在定义的时候定死的,所以我们就需要一个能够动态调整大小的数组或者用链表解决,而java中提供了这样一组数组,名为集合类.(有事还是需要链表来解决一些问题的) 重要的就是linkedlist,arraylist,vector,hashset,hashmap 从图中可以看出Java的集合类主要有以下几种: List结构的集合类 —— ArrayList类,LinkedList类,Vector类,…
一. 什么是集合: 在Java中提供了一些可以保存同一数据类型的数据集称为集合,就是规定了一些集合的规范(接口.抽象类.实现类)及方法, 方便我们程序在保存数据时进行增.删.改.查操作,编程更加高效. 二. List集合: List集合特性:List集合(ArrayList.LinkedList)是可重复的.有序的(是原始顺序) 1.ArrayList实现类:底层采用数组实现,查询可以通过下标快速点位,查询速度快,针对添.删.改速度慢 2.LinkedList实现类:底层采用双向链表实现,添加.…
  27.01  反射_类的加载概述和加载时机 类的加载:当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 加载:就是指将class文件读入内存,并为之创建一个Class对象.任何类被使用时系统都会建立一个Class对象. 连接 验证 是否有正确的内部结构,并和其他类协调一致 准备 负责为类的静态成员分配内存,并设置默认初始化值 解析 将类的二进制数据中的符号引用替换为直接引用 初始化: 创建类的实例 访问类的静态变量,或者为静态变量…
  09.01 final关键字引入 例: class Fu { public final void show() { System.out.println("访问底层资源"); } } class Zi extends Fu { public void show() { System.out.println("Zi show run"); } } class Demo { public static void main(String[] args) { Zi z…
  07.01 成员变量和局部变量的区别 1.在类中的位置不同 成员变量    类中方法外 局部变量    方法内或者方法声明上 2.在内存中的位置不同 成员变量   堆内存 局部变量   栈内存 3.生命周期不同 成员变量   随着对象的存在而存在,随着对象的消失而消失 局部变量   随着方法的调用而存在,随着方法的调用完毕而消失 4.初始化值不同 成员变量   有默认的初始化值 局部变量   没有默认的初始化值,必须先定义,赋值,才能使用. 07.02 方法的形式参数是类名的调用 例: cl…
  08.01 工具类中使用静态 例: class ArrayTool { //将构造方法私有,外界不能创建该类的对象 private ArrayTool(){} //遍历数组 public static void print(int[] arr) { System.out.print("["); for(int i = 0;i < arr.length;i++) { if(i == arr.length-1) { System.out.print(arr[i]+"]&…
  10.01 运动员和教练案例分析 教练和运动员案例:运动员分乒乓球运动员和篮球运动员,教练分乒乓球教练和篮球教练.为了出国交流,跟乒乓球相关的人员都需要学习英语. 分析: 10.02 运动员和教练案例实现 //定义一个说英语的接口 interface SpeakEnglish { //说英语 public abstract void speak(); } //定义人的抽象类 abstract class Person { private String name; private int ag…
  11.01 常见开发工具介绍 1:操作系统自带的记事本软件 2:高级记事本软件例:Editplus,Notepad++,UltraEdit 3:集成开发环境 IDE(Integrated Development Environment) 这种软件是用于程序开发环境的应用程序,一般包括代码编辑器,编译器,调试器和图形界面工具. 集成了代码编写功能,分析功能,编译功能,调试功能等一体化的开发软件.具备这一特性的软件都可以叫做IDE. 例:JCreator,JBuilder,NetBeans,JD…
  23.01  多线程程序的引入 如果一个程序只有一个执行流程,所以这样的程序就是单线程程序. 如果一个程序有多条执行流程,那么,该程序就是多线程程序. 23.02  进程概述及多进程的意义 要想说线程,首先必须得知道进程,因为线程是依赖于进程存在的 进程:正在运行的程序,是系统进行资源分配和调用的独立单位.每一个进程都有它自己的内存空间和系统资源.   多进程意义:多进程的作用不是提高执行速度,而是提高CPU的使用率 单进程计算机只能做一件事情.而我们现在的计算机都可以一边玩游戏(游戏进程)…
  24.01  JDK5之后的Lock锁的概述和使用 虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里释放了锁,为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock   public interface Lock:Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作.此实现允许更灵活的结构,可以具有差别很大的属性,可以支持多个相关的 Condition 对象.   例: public cla…
一.集合体系(不包括Queue体系) 二.ArrayList ArrayList的属性 private transient Object[] elementData; //存储元素 private int size; //数组的长度 ArrayList三个构造方法 public ArrayList(int initialCapacity) { if (initialCapacity > 0) { this.elementData = new Object[initialCapacity]; }…
  26.01  网络编程概述 网络编程:就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换. 26.02  网络模型概述和图解 计算机网络之间以何种规则进行通信,就是网络模型研究问题. 网络模型一般是指 OSI(Open System Interconnection开放系统互连)参考模型 TCP/IP参考模型 OSI参考模型七层简述: 1.物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来…
Chapter. 10 泛型 10.1 泛型程序设计 泛型,指可以在类或方法中预支地使用未知的类型.泛型程序设计(Generic programming),意味着编写的代码可被很多不同类型的对象所重用.使用泛型机制编写的程序代码,要比那些杂乱使用Object变量然后再进行强制类型转换的代码具有更好的安全性和可读性.泛型对于集合类尤其有用,如集合类ArrayList. 10.1.1 引入 在Java SE5.0之前,Java泛型程序设计是用继承实现的.例如ArrayList类只维护一个Object…
Ioc操作Bean管理(xml注入集合属性) 注入数组类型属性 注入List集合类型属性 注入Map集合类型属性 Stu类 public class Stu { //1. 数组类型属性 private String[] courses; //2. List集合类型属性 private List<String> list; //3. Map集合类型属性 private Map<String,String> maps; //3. Set集合类型属性 private Set<Str…
一.Queue Queye接口体系图 体系分析: Deque实现类:ArrayDeque, LinkedList(数组和链表实现双向队列) BlockingDeque实现类:LinkedBlockingDeque(链表实现阻塞双向队列) BlockingQueue实现类:ArrayBlockingQueue,LinkedBlockingQueue,PriorityBlockingQueue,SynchronousQueue,DelayQueue Queue源码 public interface…
JavaSE学习总结第15天_集合框架1 15.01 对象数组的概述和使用15.02 对象数组的内存图解15.03 集合的由来及与数组的区别15.04 集合的继承体系图解15.05 Collection集合的功能概述15.06 Collection集合的基本功能测试15.07 Collection集合的高级功能测试15.08 集合的遍历之集合转数组遍历15.09 Collection存储自定义对象并遍历案例(使用数组)15.10 集合的遍历之迭代器遍历15.11 Collection存储自定义对…
前言:俗话说“金三银四铜五”,不知道我要在这段时间找工作会不会很艰难.不管了,工作三年之后就当给自己放个暑假. 面试当中Collection(集合)是基础重点.我在网上看了几篇讲Collection的文章,大多都是以罗列记忆点的形式书写的,没有谈论实现细节和逻辑原理.作为个人笔记无可厚非,但是并不利于他人学习.希望能通过这种比较“费劲”的讲解,帮助我自己.也帮助读者们更好地学习Java.掌握Java. 无论你跟我一样需要应聘,还是说在校学生学习Java基础,都对入门和进一步启发学习有所帮助.(关…
前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和ArrayList.HashSet.LinkedList等等.根据核心框架图,相信我们都已经对Collection这个JavaSE中最常用API之一有一个较为全面的认识. 这个学习过程,还可以推及到其他常用开源框架和公司项目的学习和熟悉上面.借助开发工具或说明文档,先是对项目整体有一个宏观的认识,再根…
本篇基于redis 4.0.11版本,学习列表(list)和集合(set)和有序集合(sorted set)相关命令. 列表按照插入顺序排序,可重复,可以添加一个元素到列表的头部(左边)或者尾部(右边). 集合是 String 类型的无序集合,不能出现重复的数据. 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员,但分数(score)却可以重复.不同的是每个元素都会关联一个double类型的分数.redis正是通过分数权重来为集合中的成员进行从小到大的排序. 列表相关命令:…
集合框架:,用于存储数据的容器. 特点: 1:对象封装数据,对象多了也需要存储.集合用于存储对象. 2:对象的个数确定可以使用数组,但是不确定怎么办?可以用集合.因为集合是可变长度的. 集合和数组的区别: 1:数组是固定长度的:集合可变长度的. 2:数组可以存储基本数据类型,也可以存储引用数据类型:集合只能存储引用数据类型. 3:数组存储的元素必须是同一个数据类型:集合存储的对象可以是不同数据类型.   数据结构:就是容器中存储数据的方式. 对于集合容器,有很多种.因为每一个容器的自身特点不同,…
web前端学习python之第一章_基础语法(一) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈哈- 先从hello world开始 输出语法:print() 新建一个文件 hello.py //填写内容 print("hello , world") 运行该文件 这一点与Node很相似,Node运行文件的时候是node xx.js python运行是python xx.py 如果没有…
javaSE学习笔记(10)---List.Set 1.数据存储的数据结构 常见的数据结构 数据存储的常用结构有:栈.队列.数组.链表和红黑树. 1.栈 栈:stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加.查找.删除等操作. 简单的说:采用该结构的集合,对元素的存取有如下的特点 先进后出(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元素).例如,子弹压进弹夹,先压进去的子弹在下面,后压进去的子弹在上面,当开枪时,…
JavaSE学习笔记(9)---集合类和泛型 1.Collection集合 集合概述 在前面我们已经学习过并使用过集合ArrayList<E> ,那么集合到底是什么呢? 集合:集合是java中提供的一种容器,可以用来存储多个数据. 集合和数组既然都是容器,它们有什么区别呢? 数组的长度是固定的.集合的长度是可变的. 数组中存储的是同一类型的元素,可以存储基本数据类型值.集合存储的都是对象.而且对象的类型可以不一致.在开发中一般当对象多的时候,使用集合进行存储. 集合框架 JAVASE提供了满足…