Java基础知识点3:集合类】的更多相关文章

前言:本篇随笔,主要记录Java的基础知识点,不管是用于项目或者面试中,笔者认为都非常有用,所以将持续更新...... 1.Java的访问权限 Java中有四种访问权限:默认访问权限.public.private.protected 这四种访问权限中,只有默认访问权限和public才能修饰类(这里所说的类为外部类,对于内部类,四种权限都可以进行修饰),对于字段和方法,四种权限都可以进行修饰. 默认访问权限(字段或类前不加任何修饰符):用默认访问权限进行修饰,只能在同包中进行访问. public:…
前言 本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其底层实现原理. 纸上得来终觉浅,绝知此事要躬行.笔者之前对每部分的内容对做了比较深入的学习以及代码实现,基本上比较全面地讲述了每一个Java基础知识点,当然可能有些遗漏和错误,欢迎读者指正. Java基础知识点总结 每部分内容会重点写一些常见知识点,方便复习和记忆,但并不是全部内容. 面向对象三大特…
前言:记录Java基础知识点,方便熟悉与掌握. 1.面向对象的"六原则一法则" “六原则一法则”:单一职责原则.开闭原则.依赖倒转原则.里氏替换原则.接口隔离原则.合成聚合复用原则和迪米特法则. 参考: https://www.cnblogs.com/qifengshi/p/5709594.html https://blog.csdn.net/sinat_26342009/article/details/46419873 2.使用普通for循环遍历LinkedList速度慢 原因:Li…
前言:准备将Java基础知识点总结成一个系列,用于平常复习并加深理解.每篇尽量做到短小精悍,便于阅读. 1.Math类中相关函数 Math.floor(x):返回不大于x的最大整数.eg:Math.floor(1.4)=1.0. Math.round(x):该函数会进行“四舍五入”,具体操作:返回小于等于(x+0.5)的最大整数(加0.5然后向下取整).换算记忆:Math.round(x)=Math.floor(x+0.5).eg:Math.round(1.4)=Math.floor(1.4+0…
前言:Java的基础知识点不能间断. 1.Array和ArrayList的区别 关于Array的用法,参看:http://blog.csdn.net/b_11111/article/details/53573742 Array为java.lang.reflect包下的一个类,提供了动态创建和访问数组的方法.可以包含基本数据类型和对象类型.大小固定,因为数组在创建时就确定了长度. 关于ArrayList,参看:http://zhangshixi.iteye.com/blog/674856 Arra…
1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境,JRE:java运行环境 1.4第一个java程序:HelloWorld,java的入口是main(public static void main(String[] args)) 1.5java程序的开发步骤:.java编译(javac)成.class运行(java).class文件 2.基本数据…
#java基础知识点补充---二维数组 首先定义一个二维数组 int[][] ns={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; 实现遍历二维数组 1. 增强的for循环实现二维数组的遍历 for (int[] arr : ns) { for (int n : arr) { System.out.print(n + ","); } System.out.println(); } 2. 使用Arrays.deepToStri…
很多 Java 基础的东西都忘记了, 有必要再复习一些基本的知识点. 本文主要参考 https://github.com/Snailclimb/JavaGuide ===========================Java 访问限定符的可见性===========================参考: https://o7planning.org/en/10319/access-modifiers-in-javaJava 实际上有 private/default/protected/publ…
以下10点为JAVA 基础知识,后面将足以总结和完善以备面试 数据类型 (包装类,字符串,数组) 异常处理 Java IO和NIO 数据结构 (集合和容器 ) 多线程(并发) 网络通信(协议) 面向对象 JVM(内存分布,垃圾回收,类加载机制,反射) JDK源码 JAVA常用包(string,java.concurrent,java.lang ...) 学完上面知识点后, 计划用一些练习去巩固知识 记事本(java.io,  java.nio) 聊天室(多线程,socket, channel,…
面对未知的行业,人们的第一反应应该是:拒绝踏入.因为学习真的是一个痛苦的过程.想要真正了解一个行业,熟知一个行业,并熟练掌握某一技术,是真的需要时间和精力的.在学习Java基础知识期间,千锋小编疯狂为你们打CALL,并为你准备了一些java重要的技术点,是需要重点学习的技术哦! 1.多线程并发 多线程是Java中普遍认为比较难的一块.多线程用好了可以有效提高cpu使用率,提升整体系统效率,特别是在有大量IO操作阻塞的情况下;但是它也是一柄双刃剑,如果用不好,系统非但提升不大,或者没有提升,而且还…
ArrayList:有序.可重复.线程不安全.内部使用数组进行存储 LinkedList:有序.可重复.线程不安全.内部使用引用进行存储[可以很方便的进行插入.删除数据] Vector:有序.可重复.线程安全 HastSet:无序.不可重复(自动去重) TreeSet存放数据是有序的 HashSet存放数据是无序的 一.ArrayList集合类的简单创建和使用 创建一个集合对象 ArrayList arr = new ArrayList(); 往集合中添加数据[arr.add(Object)]…
集合类是Java编程中经常会用到的一类常用类库,在这里将会对整个集合类进行介绍: Collection接口: Collection接口是所有集合类的根接口,代表了所有含有多个元素的集合,无论这个集合中是否有重复元素,元素是否有序.所有我们经常使用的一些集合类,比如ArrayList,LinkedList等等集合类并不是直接实现这个接口.而是去实现这个Collection接口的子接口,比如Set,List等等. 这个类中规定了一些最通用的方法,比如: size(), isEmpty(),conta…
小知识点 所有的程序,都要定义在类里面: 异常 定义方法时,使用 throws 可以用来捕获方法体内没有捕获的异常,然后以 SomeException 抛出异常 java是解释型语言.java虚拟机能实现一次编译多次运行. JDK(java software Development kit 软件开发包),JRE(java Runtime Environment java运行环境). javac编译java程序,java运行java程序. 一个文件最多有一个public class. java不提…
hashCode()方法基本实现 hashCode方法是Java的Object类所定义的几个基本方法之一.我们可以深入到Object类的源码中去查看: public native int hashCode(); 其中native关键字表明这个函数是由非java语言来实现的,这个函数的功能就是返回这个对象在内存中的地址. hashCode()方法的应用 大部分类都会重新覆写一下hashCode方法,原因有很多.那么这个方法主要被应用在什么场景下呢?一个非常重要的应用就是当我们处理散列集合类的时候,…
1.java是如何管理内存的 java的内存管理就是对象的分配和释放问题.(其中包括两部分) 分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间. 释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程序员的工作.但同时,它也加重了JVM的工作.因为,GC为了能够正确释放对象,GC必须监控每一个对象的运行状态,包括对象的申请.引用.被引用.赋值等,GC都需要进行监控. 2.什么叫java的内存泄露 在…
1.为什么集合类没有实现Cloneable和Serializable接口? 克隆(cloning)或者是序列化(serialization)的语义和含义是跟具体的实现相关的.因此,应该由集合类的具体实现来决定如何被克隆或者是序列化. 2.Iterator和ListIterator的区别是什么? Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List.Iterator对集合只能是前向遍历,ListIterator既可以前向也可以后向.ListIterato…
*.Java文件 问题:一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 答案:可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致.一个文件中可以只有非public类,如果只有一个非public类,此类可以跟文件名不同. 为什么一个java源文件中只能有一个public类? 在java编程思想(第四版)一书中有这样3段话(6.4 类的访问权限): 1.每个编译单元(文件)都只能有一个public类,这表示,每个编译单元都有单一的…
https://github.com/xbox1994/2018-Java-Interview 虽说不为面试做准备,仅仅就工作中遇到的很多Java问题,总是模棱两可的擦肩而过,真不是自己的风格. 还是要踏下心来好好提高下Java相关基础知识. 不多说了,一方面工作中不断对已有代码进行重构:另一方面对知识体系做一个梳理.…
运算符 运算符的分类: 算术运算符 赋值运算符 关系运算符 逻辑运算符 位运算符 三目运算符 自增自减运算符:++i:i先自加,再做其他运算:i++先运算再自加: --i先自减再做其他运算:i--先运算再自减: 赋值运算符 = : 这个等于号在Java中表示赋值的意思,真正数学意义上的相等是 == 在JavaScript当中还有 ===,表示类型和数值都相等   扩展赋值运算符: +=   -=   *=   /=   %= (使用扩展赋值运算符系统会自动帮我们强制类型转换) *关系运算符的结果…
面向对象的三大特性 继承:一般只能单继承,内部类实现多继承,接口可以多继承 封装:访问权限控制public>protected>包>private内部类也是一种封装 多态:编译时多态,体现在向上转型和向下转型,通过引用类型判断调用哪个方法(静态分配).运行时多态,体现在同名函数通过不同的参数实现多种方法(动态分配). 基本数据类型 1.基本类型位数,自动装箱,常量池. 2.例如byte类型是1byte也就是8位,可以表示的数字是-128到127,因为还有个0,加起来一共是256,也就是2…
1.&和&&的区别? &:逻辑与(and),运算符两边的表达式均为true时,整个结果才为true. &&:短路与,如果第一个表达式为false时,第二个表达式就不会计算了. 2.在java中如何跳出当前的多重循环? 在循环语句外前面定义一个标号,然后在里层循环体的代码中使用带有标号的break语句,即可跳出循环. 比如: ok: for (int i = 0; i < 10; i++) { { for (int j = 0; j < 10; j…
前言 在别人追问我以下几个问题,自己在问题回答上不够全面和准确,对此自己把专门针对这几个问题进行总结! java相关问题 1.Java中构造方法跟普通方法的区别? 构造方法与普通方法的调用时机不同. 首先在一个类中可以定义构造方法与普通方法两种类型的方法,但是这两种方法在调用时有明显的区别. 1.构造方法是在实例化新对象(new)的时候只调用一次 2.普通方法是在实例化对象产生之后,通过"对象方法"调用多次. 如果在构造方法上使用了void,其定义的结构与普通方法就完全一样,而程序的编…
继承是面向对象编程技术中非常重要的一个基本概念.它背后的基本思想就是:通过已有的类来创建一个新的类,这个新的类可以重用(或继承)已有的类方法:新的类也可以加入新的方法和属性. 在这里我们通过一个实例来讲解继承的基本知识.假设我们在为一个公司设计一个管理系统,管理公司的人员,我们首先定义了一个雇员类Employee,它的定义如下: 1 public Employee { 2 private String name; 3 private double salary; 4 5 public Emplo…
基本类型的包装类 简介 通常来说我们在程序中经常会使用元类型,比如 int data = 1; float data = 2.1F; 但是在有些场景中不能直接使用元类型,比如如果我们想要建立一个int类型的ArrayList,你就不可以直接写做: ArrayList<int> 因为ArrayList的"<>"符号中的类型要求是类,而不能是元类型. 所以java为了解决这个问题,提出了包装类的解决方案.即对于每一种元类型,java都会引入一个包装类(wrapper…
第一天: JRE.JDK是什么? Jre java运行环境.Jre = java虚拟机+核心类库(辅助java运行的文件) Jdk:java开发工具集jdk = jre+java的开发工具 2. 配置path的作用. 配置环境变量,设置好path变量后,就可以在任何目录下执行javac/java等工具了. 第二天: 1. 关键字.标识符 .注释的类型. 关键字:被java赋予特殊含义的单词 比如 break static public final 标识符:程序中自定义的一些名称 注释:单行注释.…
1.如何将数字输出为每三位逗号分隔的格式,例如“1,234,467”? package com.Gxjun.problem; import java.text.DecimalFormat; import java.util.Scanner; /* * 如何将数字输出为每三位逗号分隔的格式, * 例如“1,234,467”? * */ public class FloatDirve { public static void main(String args []){ Scanner reader…
如何将字符串转换为数字? package Day_2; /** * @author Administrator * 功能: 如何将字符串转换为数字? */ public class StringToInteger { public static void main(String args []) { String ss="123"; int val = Integer.parseInt(ss); System.out.println(val); ss="123.4"…
转载请注明出处:http://blog.csdn.net/ns_code/article/details/8846697 1.使用浮点型数值时,默认的类型是double,后面加上f或F才被识别为float类型. 2.使用数组前一定要先开辟内存空间,当然也可以直接用静态赋值的方式. 3.Java中的基本数据类型变量为全局变量(确切地说,是类中的属性域的变量,java中是没有全局变量的)时,可以不赋值,直接使用,因为有默认值,但是作为局部变量时,就必须在赋值后才能使用,而对于引用数据类型,无论是全局…
基础学习总结 1.锁sync/lock都有哪些方法,底层实现 synchronized ['sɪŋkrənaɪzd] 2.线程池的参数.线程池执行的流程,当到达线程池到达最大数,队列也满了,出现的异常 3.写一个主线程等待两个子线程执行完成,在往下执行逻辑 答案: 1.可以使用thred.jion()方法进行判断该行程执行完没有了, 2.使用CountDownLatch定义该线程数,每一个线程执行完成调用一下countDown()让CountDownLatch数量减一,最后使用await()方法…
1:Java泛型 2:clone Java中的深拷贝(深复制)和浅拷贝(浅复制)   Java中对Clone的理解  序列化和反序列化的概念 3:Java中有关Null的9件事…