JAVA
weixin_43730508
每天进步一点点
展开
-
Java集合中List,Set以及Map等集合体系详解
这位大佬总结很好谨此记录,防止忘记转载 2020-09-11 18:58:07 · 194 阅读 · 0 评论 -
十进制转换为二进制、进制转换
toBinaryString(int i) //返回int变量的二进制表示的字符串 toHexString(int i) //返回int变量的十六进制表示的字符串toOctalString(int i) //返回int变量的八进制表示字符串Integer.toString(10,16) //10为要转换的数,16为要转换进制 (不适用于负数)Integer.parseInt("1010",2);//N进制转换成十进制,返回类型为int,第一个参数为字符串,第二个参数为进制具体原创 2020-08-27 11:15:40 · 156 阅读 · 0 评论 -
String和char数组之间的相互转换
String 转换为 char数组如果是有分隔符的那种例如"a,b,c";就直接分割就行了.String string = "a,b,c";String [] stringArr= string.split(","); //注意分隔符是需要转译滴...如果是"abc"这种字符串,就直接String string = "abc" ;char [] stringArr = string.toCharArray(); //注意返回值是char数组,返回的是[]使用 String.charAt(转载 2020-08-26 15:06:56 · 9361 阅读 · 0 评论 -
java输入输出练习
一、字符串难点:每行最后一个字母的后边没有符号public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNextLine()){ String[] str = sc.nextLine().split(","); Arrays.sort(str);原创 2020-08-19 18:12:34 · 764 阅读 · 0 评论 -
Map m=new HashMap()和HashMap<String,String> m=new HashMap<>()
Map m = new HashMap() 和HashMap h = new HashMap()的区别1、Map<String,String> m=new HashMap<String,String>() Map是个接口 HashMap是它的实现类。 这就是new 了一个对象2、HashMap<String,String> m=new HashMap<String,String>() a、 这种申明方式没有问题。. 只转载 2020-08-16 21:51:03 · 2836 阅读 · 0 评论 -
java集合框架中的contains()、containsKey()、containsValue()的用法
List集合–>contains()Map集合–>containsKey()和containsValue()List集合的contains()用来判断list集合中是否含有某个元素,返回值为boolean型Map集合的containsKey()和containsValue()public static void main(String[] args) {List list = new LinkedList();list.add(“A”);list.add(“B”);list.ad原创 2020-08-16 21:42:03 · 1124 阅读 · 0 评论 -
for(Strings:str) 和 Arrays.sort()的理解
一、for(String s:str){ System.out.print(s);}等同于for (int i = 0; i < str.length; i++) { String s = str[i]; System.out.print(s);}是J2SE 1.5提供的另一种形式的for循环,可以用来处理不知道str长度的情况二、Arrays.sort();对一个数组的所有元素进行排序,并且是按从小到大的顺序.使用前需要导入包 import java.util.Array原创 2020-08-14 22:01:15 · 1062 阅读 · 0 评论 -
java中int String的类型转换
int -> Stringint i=12345;String s="";第一种方法:s=i+"";第二种方法:s=String.valueOf(i);区别第一种方法:s=i+""; //会产生两个String对象第二种方法:s=String.valueOf(i); //直接使用String类的静态方法,只产生一个对象String -> ints=“12345”;int i;第一种方法:i=Integer.parseInt(s);第二种方法:i=Integer.value原创 2020-08-14 21:27:16 · 79 阅读 · 0 评论 -
java中常见的输入输出-Scanner类
一、Scanner 类的next() 和 nextLine() , hasNext() 和 hasNextLine()通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要 使用 hasNext() 与 hasNextLine() 判断是否还有输入的数据二、next()和hasNext()区别next()和hasNext()效果其实是一样的,系统都会等待输入下一个字符,只是返回值不同,hasNext()会返回true,next()返回输入的字符。原创 2020-08-14 16:41:52 · 1385 阅读 · 0 评论 -
java面向对象的三大特性
面向对象的语言有 : C++ 、 Java 、 C#等一、封装封装就是把一个对象的属性私有化,同时提供一些可以被外部类访问的属性的方法封装的优点:1.良好的封装可以减少耦合2.类内部的机构可以自由修改3.隐藏信息、实现等细节4.可以对成员变量更精确的控制二、继承使用继承可以用来复用代码。可以将所有子类的共同属性放入父类中。关于继承要记住三点:1.子类拥有父类的所有非paivate的属性和方法2.子类可以拥有自己的属性和方法,即子类可以对父类进行扩展3.子类可以用自己的方式实现父类的原创 2020-07-25 20:42:17 · 137 阅读 · 0 评论 -
java中的空值、空对象、空格
//空对象String s = null空对象是指定义了一个对象,但是没有给该对象分配空间,即没有实例化该对象。因此空对象再调用所有对象方法时,如s.length,s.size()会抛出异常。//空值String s = "";空值是指改字符串对象已经实例化,即系统已经给该对象分配了空间,只是对象的内容为空。//空格String s = " ";空格是指对象已经实例化,但是对象的内容为空格。对于上述三种情况,如何判断一个字符变量属于上述类型1. 空对象判断s == null;转载 2020-07-06 21:10:18 · 1246 阅读 · 0 评论 -
java中深拷贝和浅拷贝
深拷贝和浅拷贝最根本的区别在于是否获取一个对象的复制实体,而不是引用。假设B复制了A,修改A时,看B是否发生变化:如果B跟着也变了,说明是浅拷贝,拿人手短!(修改的是堆内存中的同一个值)如果B没有改变,说明是深拷贝,自食其力!(修改堆内存中的不同的值)浅拷贝(shallowCopy)只是增加了一个指针指向已存在的内存地址。当b=a进行拷贝时,其实复制的是a的引用地址,而并非堆里面的值。仅仅是指向被复制的内存地址,如果原地址发生改变,那么浅复制出来的对象也会相应的改变。深拷贝(deepCopy原创 2020-07-04 17:45:22 · 142 阅读 · 0 评论 -
java的一些面试题目
参考这位博主转载 2020-07-04 17:32:10 · 97 阅读 · 0 评论 -
HashMap和Hashtable的区别
HashMap和Hashtable都实现了Map接口,但是具体用哪个,还要看他们两个的区别:1.线程安全性Hashtable是线程安全的,它的每个方法中都加入了Synchronize方法。在多线程并发的环境下,可以直接使用Hashtable,不需要自己为它的方法实现同步(可以多个线程可以共享一个Hashtable)HashMap不是线程安全的,在多线程并发的环境下,可能会产生死锁等问题。使用HashMap时就必须要自己增加同步处理2.同步和速度由于Hashtable是线程安全的,也是synchro转载 2020-07-01 19:38:32 · 2468 阅读 · 0 评论 -
java中的拆箱、装箱以及Integer int的区别
1.拆箱、装箱//自动装箱Integer s1 = 99;//自动拆箱int s2 = s1;装箱:自动将基本数据类型转换成包装器类型拆箱:自动将包装器类型转换成基本数据类型2.拆箱、装箱的执行过程装箱是通过调用包装器类的 valueOf 方法实现的拆箱是通过调用包装器类的 xxxValue 方法实现的,xxx代表对应的基本数据类型。如int装箱的时候自动调用Integer的valueOf(int)方法;Integer拆箱的时候自动调用Integer的intValue方法。3.常见问转载 2020-06-30 22:20:38 · 194 阅读 · 0 评论 -
Stack,ArrayDeque,LinkedList的区别
类继承树由继承树看出,三者都是Collection的间接实现类。ArrayDeque实现Deque接口,Stack继承于Vector,LinkedList实现Deque与List接口。区别底层数据存储方式存储方式Stack长度为10的数组ArrayDeque长度为16的数组LinkedList链表方法参照表线程安全性能选项 通常情况下,不推荐使用Vector以及其子类Stack1.需要线程同步使用Collections工具类中synch转载 2020-06-30 21:25:43 · 291 阅读 · 0 评论 -
java中的isEmpty() null “ “的关系
转载 2020-06-30 21:09:46 · 294 阅读 · 0 评论 -
LinkedList类的常用方法
ArrayList和LinkedList的区别:ArrayList 是以数组实现的,遍历时很快,但是插入、删除时都需要移动后面的元素,效率略差些。而LinkedList 是以链表实现的,插入、删除时只需要改变前后两个节点指针指向即可,省事不少。LinkedList类的常用方法public boolean add(Object element)向链表末尾添加一个新节点,该节点中的数据是参数element指定的对象public void add(int index,Object element)转载 2020-06-27 21:03:58 · 608 阅读 · 0 评论 -
poll()和remove()方法的区别
1.poll() 方法和 remove() 方法的区别?poll() 和 remove() 都是从队列中取出一个元素,但是 poll() 在获取元素失败的时候会返回空,但是 remove() 失败的时候会抛出异常。add()和offer()方法同理原创 2020-06-27 20:51:01 · 2046 阅读 · 0 评论 -
java的队列 Queue和LinkedList
队列(queue)的用法队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。import java.util.LinkedList;import java.util.Queue; public class Main { public static void main(String[] args) { //add()和remove()方法在失败的时转载 2020-06-24 10:15:05 · 828 阅读 · 0 评论 -
2020年招银网络科技测开笔试题(代码题)
题目:斐波那契数列:0、1、1、2、3.。。。求前n个斐波那契数列中“1”出现的次数,比如前10个斐波那契数列中1出现的次数为4import java.util.*;/** * 招商银行测开笔试题 * 求前n个斐波那契数列中“1”出现的次数 * @author Star Ma * */public class Test03 { public static int fib(int n) { int a=0,b=1; int count=1; StringBuffer s =原创 2020-06-23 20:32:05 · 13276 阅读 · 0 评论 -
java的Set集合
Set集合的特点:不能存储相同的元素。同时因为其是一个抽象的接口:所以不能直接实例化一个set对象。(Set s = new Set() )错误该接口主要继承于Collections接口,所以具有Collection的一些常见的方法。常见的方法:add( ) 向集合中添加元素clear( ) 去掉集合中所有的元素contains( ) 判断集合中是否包含某一个元素isEmpty( ) 判断集合是否为空iterator( ) 主要用于递归集合,返回一个Iterator()对象remove(转载 2020-06-19 20:58:01 · 81 阅读 · 0 评论 -
java中length、length()、size的区别
首先区分一下length和length();length不是方法,是属性,数组的属性;public static void main(String[] args) { int[] intArray = {1,2,3}; System.out.println("这个数组的长度为:" + intArray.length);}length()是字符串String的一个方法;public static void main(String[] args) { String str = "HelloWo转载 2020-06-19 20:17:09 · 453 阅读 · 0 评论 -
java中String类的常用函数以及append()方法
这位博主写的很全一、String s = new String(“hello”)和String s =“hello”; 的区别:==:比较的是引用类型,比较的是地址值即:System.out.println(s1 == s2); // falseequal():默认比较的是地址值。String类重写了equals()方法,该方法的作用是比较字符串的内容是否相同System.out.println(s1.equals(s2)); // true二、 * 字符串变量相加:先开空间,再加内容字转载 2020-06-19 19:57:30 · 21056 阅读 · 3 评论 -
java中的String 、StringBuffer、StringBuilder
参考这篇博客原创 2020-06-18 22:02:48 · 115 阅读 · 0 评论 -
java的HashMap
HashMap哈希集合Map map = new HashMap();这个其实你定义的是一个接口,你调用这个接口来实现你要完成的动作,这样别人直接用你这个接口就可以了,而不用关心你具体是怎么实现这个接口的,假如以后有变动的话,你不用在去管这个接口,只去改下你的实现类就可以了,方便维护,隔离性强。HashMap map = new HashMap();而这个 你定义的就是一个实现类,你把这个实现类给别人用,在出现问题和改动的话,那么程序就无法运行,凡是用到这个类的地方都要修改,维护起来很麻烦,而上面的接口原创 2020-06-16 20:50:26 · 80 阅读 · 0 评论 -
java返回两个变量
return new int[] {i, j};剑指offer- -和为s的两个数字class Solution { public int[] twoSum(int[] nums, int target) { //返回值类型是整型数组 int i=0, j = nums.length-1; //int[] res=new int[2]; while(i<j){ int sum = nums[i] + nums[j];原创 2020-06-16 16:03:30 · 1129 阅读 · 0 评论 -
java的右移运算符
java提供两种右移运算符,都是位运算符。位运算符用来对二进制进行操作>>:算数右移运算符,也称带符号右移。用最高位填充移位后左侧的空位>>>:逻辑右移运算符,也称无符号右移。只对位进行操作,移位后用0填充左侧的空位运算规则>>:把二进制数向右移动对应位数,低位舍弃,高位的空位补符号位。正数补0,负数补1,符号位不变>>>:把二进制数向右移动对应位数,地位舍弃,高位补0 。对于正数来说和带符号右移相同,对于负数来说不同。...原创 2020-06-16 11:54:47 · 1583 阅读 · 0 评论 -
java中字符串 str==null 和str.length(),==和equals的区别
null就是空,不占用内存空间,没有任何属性,也不能读取属性,即没有.length()等;而 .length() == 0,此刻是一个字符串,已经为其分配了一定的内存空间。若定义任何一个对象不使用new关键字Object O,O这时候就是null,此时使用O.任何属性方法都是不可接受的报错,只有 = new Object()之后才有意义。————————————————版权声明:本文为CSDN博主「WukongGo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。转载 2020-06-15 19:49:00 · 527 阅读 · 0 评论 -
java中String类的trim()和split()方法
trim()trim() 方法用于删除字符串的头尾空白符。String Str = new String(" www.runoob.com ");Str.trim();split()split() 方法根据匹配给定的正则表达式来拆分字符串public String[] split(String regex, int limit) //regex正则表达式分隔符。limit 分割的份数。//使用方法String str = new String("Welcome-to-Run原创 2020-06-15 17:41:57 · 1177 阅读 · 0 评论 -
java中的String和char
一 char和string的区别: 1 char是表示的是字符,定义的时候用单引号,只能存储一个字符。例如; char='d'. 而String表示的是字符串,定义的时候用双引号,可以存储一个或者多个字符。例如:String=“we are neuer”。2 char是基本数据类型,而String是个类,属于引用数据类型。String类可以调用方法,具有面向对象的特征。二 char类型 char在Java中是16位的,因为Java用的是Unicode。三 String类型转载 2020-06-14 19:47:46 · 590 阅读 · 0 评论 -
Java的三目运算符? :
int x = 10;int y = 5;int z;z = (x > y) ? x : y;若x>y,则z=x;否则z=y原创 2020-06-05 17:33:32 · 116 阅读 · 0 评论 -
Java的list集合、和它的实现类ArrayList、LinkedList
参考这位博主的介绍,总结的很好,有用!java中集合类之间的关系转载 2020-06-04 17:09:01 · 170 阅读 · 0 评论 -
Java数组
Java中声明、创建、初始化数组元素int[] a; //声明数组a = new int[N]; //创建数组a[i] = 1; //初始化数组简化写法int[] a = new int[N];int[] a = {1,2,3};二维数组double[][] b = new double[M][N];原创 2020-05-28 10:20:13 · 81 阅读 · 0 评论 -
Java变量类型--实例变量和类变量
成员变量:在类内、方法体外的变量Java有两种成员变量:实例变量和类变量(静态变量)实例变量:没有static修饰为所属对象所私有(一个对象的改变不影响其他对象)实例变量随着对象的建立而存在于堆内存中实例变量生命周期随着对象的消失而消失类变量(静态变量)static修饰为所有对象所共有(一个对象将类变量的值改变,其他对象不能改变它的值)类变量随着类的加载而存在于方法区中...原创 2019-10-19 14:33:00 · 135 阅读 · 0 评论 -
day3 JAVA中的泛型和集合
泛型引出泛型的原因java语言有两种数据类型:值类型(原始类型)和引用类型。每个值类型都提供了一个封装类,值类型byte\short\long\int\float\double\char和boolean对应的封装类分别是Byte\Short\Long\Integer\Float\Double\Character\Boolean。引出泛型的原因:一是由于类型和类型之间的定义不同,导致不可以互相...转载 2019-03-04 12:44:57 · 83 阅读 · 0 评论 -
day2异常的处理机制
使用try…catch捕获异常try是必不可少的一部分,catch块和finally块是可选程序块,但是二者至少应该出现一个。在catch 块中,若异常之间存在父子关系,应先捕获子类异常,再捕获父类异常。try{//所要执行的程序。如果此处程序产生了异常,将跳到catch块进行捕获}catch(异常类 引用){//捕获产生的异常对象}finally{//此处无论是否产生异常都会...转载 2019-03-04 10:53:34 · 62 阅读 · 0 评论 -
day1
方法的重载在一个类中,方法名字相同,而参数(参数个数或参数类型)不同,返回类型可以相同也可以不同即不能以返回值类型为标准判断两个方法是否重载。方法重载示例:public class MethodOverloading{ public static void main(String[] args){ System.out.println(multiply(1,2)); System....原创 2019-02-27 21:05:14 · 81 阅读 · 0 评论