优点: 1、支持自动改变大小 2、可以灵活的插入元素 3、可以灵活的删除元素 局限: 比一般的数组的速度慢一些; 用法 一、初始化: 1、不初始化容量 ArrayList arr1 = new ArrayList...”,“javaEE”],当使用add(1,“javaWeb”)后,集合list中的元素为[“java”,“javaWeb”,“JavaEE”]。...(int index,ICollection c)方法一样; 三、删除元素 方法:remove(); 功能:从集合中删除指定位置处的元素,返回该元素 功能说明:假设集合list中有元素[“java”,“...javaEE”],当使用remove(0)后,集合list中的元素为[“JavaEE”],返回值为“java”。...ArrayList的大小,返回集合中的元素个数。
在java中,如果要对集合对象或数组对象进行排序,需要实现Comparator接口以达到我们想要的目标。...接下来我们模拟下在集合对象中对日期属性进行排序 一、实体类Step /** * 运号单流程 * * @author Administrator * */ public class Step...this.acceptAddress = acceptAddress; } } 二、实现Comparator接口 package com.ljq.entity; import java.util.Comparator...; import java.util.Date; import com.ljq.util.UtilTool; /** * 对Step类进行排序 * * @author Administrator...; import java.util.Collections; import java.util.List; import org.junit.Test; public class StepComparatorTest
4.StringTokenizer StringTokenizer可以解析分隔符不是空格的情况。...例子: import java.util.StringTokenizer; public class Test { public static void main(String[] args)...{ String a = "i am an engineer"; /*用缺省分隔符空格把a这个字符串分开来, 之后把结果放在StringTokenizer类型的st_Mark_to_win...中,即使空很多个格也没问题,这为我们io那章,自己发明自己的j+语言,奠定了坚实的基础*/ StringTokenizer st_Mark_to_win = new StringTokenizer...中*/ st_Mark_to_win = new StringTokenizer(a, "=;"); count = st_Mark_to_win.countTokens
java访问权限控制 文章目录 java中static的用法 static修饰成员变量 类的成员变量 static修饰方法 static修饰代码块 java中static的用法 在java中static...修饰成员变量 成员变量 静态变量,可以直接通过类名去访问 类的成员变量 类的成员变量包括 类变量(静态变量) 被static修饰的变量 在内存中只有一个拷贝 类内部,可以在任何方法内直接访问静态变量...其它类中,可以直接通过类名访问 实例变量 没有被static修饰的变量 没创建一个实例,就为实例变量分配一次内存,实例变量可以在内存中有多个拷贝,互不影响 package cn.zhz.Kind.dh...this // System.out.println(this.age); // m1();//在静态方法中不可以调用实例方法 //在静态方法中不可以调用实例变量 // System.out.println...程序的入口main()方法就是最常用的静态方法 public static void main(String [] args){ } static修饰代码块 静态代码块,当java虚拟机加载类时
大家好,又见面了,我是你们的朋友全栈君。 Map是java中的接口,Map.Entry是Map的一个内部接口。 Map提供了一些常用方法,如keySet()、entrySet()等方法。...keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。...Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。
版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons) 引出: Java中synchronized...---- 一、修饰一个代码块 修饰的结果: 一个线程访问一个对象中的synchronized(this)同步代码块时,其他试图访问该对象的线程将被阻塞; 多个线程访问各子的对象即使有synchronized...如果在父类中的某个方法使用了synchronized关键字,而在子类中覆盖了这个方法,在子类中的这个方法默认情况下并不是同步的,而必须显式地在子类的这个方法中加上synchronized关键字才可以。...当然,还可以在子类方法中调用父类中相应的方法,这样虽然子类中的方法不是同步的,但子类调用了父类的同步方法,因此,子类的方法也就相当于同步了。...---- 四、修饰一个修饰一个静态的方法 Synchronized也可修饰一个静态方法,用法如下: public synchronized static void method() { // todo
注意find不属于vector的成员,而存在于算法中,应加上头文件#include : #include #include #include...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
1:// 单行注释 2: /* 多行注释 * / 3: /**…文档注释…*/
大家好,又见面了,我是你们的朋友全栈君。...HashMap 学习java基础的时候对map不熟悉,再加上图算法经常用到这个结构来存储,特此加一篇文章来介绍Map import java.util.ArrayList; import java.util.HashMap...; import java.util.List; import java.util.Map.Entry; public class HashMapTest { public static void...new HashMap(); map.put("zhang", "31");//存放键值对 System.out.println(map.containsKey("zhang"));//键中是否包含这个数据...System.out.println("========================="); System.out.println(map.remove("zhang"));//从键值中删除
2.StringBuffe StringBuffer:String类同等的类,它允许字符串改变(原因见上一段所说)。...StringBuffer的内部实现原理:马克-to-win,Every string buffer(缓存) has a capacity(容量).... buffer.append("2"); System.out.println(buffer); } } 3.Arrays: Arrays defined in java.util...int[] result = new int[k]; Arrays.sort(result); import java.util.Arrays; public class Test { public...(String[] args) { int[] result = { 4, 5, 2, 7, 8 }; Arrays.sort(result);//当我们用到jdk自带的sort
本文将接着讲一下Java线程同步中的一个重要的概念synchronized. synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1....我们看下面一个例子: 【Demo1】:synchronized的用法 java hljs has-numbering" style="display: block...如果在父类中的某个方法使用了synchronized关键字,而在子类中覆盖了这个方法,在子类中的这个方法默认情况下并不是同步的,而必须显式地在子类的这个方法中加上synchronized关键字才可以。...当然,还可以在子类方法中调用父类中相应的方法,这样虽然子类中的方法不是同步的,但子类调用了父类的同步方法,因此,子类的方法也就相当于同步了。...---- ---- 修饰一个类 Synchronized还可作用于一个类,用法如下: java has-numbering" style="display: block
一个例子 Object类是所有类的父类,如果你去查看java.lang.Object类的源码,你会发现里面有个finalize方法,这个方法没有默认实现,需要子类根据实际情况重写这个方法,但是如果不恰当使用...类里也有一个引用队列,这个引用队列是JVM和垃圾回收器打交道的唯一途径,当垃圾回收器需要回收该对象时,会把该对象放到引用队列中,这样java.lang.ref.Finalizer类就可以从队列中取出该对象...$100(Finalizer.java:14) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160) 这个线程唯一的职责就是不断的从...java.lang.ref.Finalizer.ReferenceQueue队列中取对象,当一个对象进入到队列中,finalizer线程就执行对象的finalize方法并且把对象从队列中删除,因此在下一次...histo:live 8700|head -n 10命令强制触发一次GC,结果和前面的分析一致,Finalizer对象都放到引用队列中,并依次调用了对象的finalize方法,内存中java.lang.ref.Finalizer
有一位博主的例子非常好,在此先引用一下他的例子。 java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。...instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。 ...用法: result = object instanceof class 参数: Result:布尔类型。 Object:必选项。任意对象表达式。 Class:必选项。...任意已定义的对象类。 说明: 如果 object 是 class 的一个实例,则 instanceof 运算符返回 true。...引用的是Item的实例, // 不是CD或者其子类的实例,false,执行else System.out.println("已转化");
大家好,又见面了,我是你们的朋友全栈君。 1. java 中的instanceof介绍: 首先,java 中的instanceof是一个运算符,而且是二目运算符,即有两个操作数。...该运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。...用法: result = object instanceof class 参数: Result:布尔类型。 Object:必选项。任意对象表达式。 Class:必选项。任意已定义的对象类。...,B又是A的一个实现类,所以结果为true res = a instanceof B; //因为a是B类型的实例,所以结果为true B b2=(C)new C(); res...= b2 instanceof A; //因为b2是C类型的实例,而C是B的子类,B又是A的一个实现类,所以结果为true res = b2 instanceof B; //因为b2是C类型的实例
大家好,又见面了,我是你们的朋友全栈君。...Java中的compareto方法,返回参与比较的前后两个字符串的asc码的差值 String a = “a”; String b = “b”; System.out.println(a.compareTo...参与比较的两个字符串如果首字符相同,则比较下一个字符,直到有不同的为止,返回该不同的字符的asc码差值 String a = “abc”; String b = “abedfg”; System.out.println...(a.compareTo(b)); 输出-2 1 2 3 4 5 两个字符串不一样长,可以参与比较的字符又完全一样,则返回两个字符串的长度差值 String a = “abc”; String...“abcde”; String b = “abcd”; System.out.println(a.compareTo(b)); 输出1 1 2 3 4 5 目前compareTo项目中的用途是比较版本号的高低
大家好,又见面了,我是你们的朋友全栈君。 一、Scanner类简介 Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。...简介 Scanner类是java.util包中的一个类 作用 常用于控制台的输入,当需要使用控制台输入时即可调用这个类 二、Scanner类的用法 使用方法 1、首先需要构造一个...Scanner类的对象,并且与标准输入流System.in关联 Scanner sc=new Scanner(System.in); 2、调用Scanner类对象sc的方法从输入流中获取你需要的输入...说明: 当创建了一个Scanner类对象之后,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给对象sc,若要获取需要的内容,调用sc的方法即可 三、常用方法 1、nextInt...(注:输入数字中不能夹杂除数字、空格、回车之外的其他字符,否则会报错) 2、nextDouble()的用法同理nextInt(),注意:nextInt无法读取小数,否则会报错。
java中存在两个随机函数,它们分别来自java.long.Math.random()和 java.util.Random();其中前者的适用范围比较小,完全可以被后者取代。...一、java.lang.Math.random()方法的用法 ①、方法类型: public static double random(); 此方法是一个无参,double...类用法 ①、该类的构造方法: Random():构造一个无参的随机数生成器。...int nextInt():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值....random=new java.util.Random(); for(int i=0;i<10;i++){ int a=random.nextInt(10); System.out.print
定义和用法 foreach 语句为数组或对象集合中的每个元素重复一个嵌入语句组。 foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。...forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。 注意: forEach() 对于空数组是不会执行回调函数的。...简单来说,foreach语句就是一个加强的for循环语句,用来遍历数组或对象集合,在foreach代码块中,应该是引用了x的java语句。...格式 for(元素类型type 元素变量x : 遍历对象obj) { 引用了x的java语句; } 在java中的语法:for(type x : collection) { }//在collection...中遍历每一个对象,对象是type类型的x int[] arr = {1.3.5}; foreach(int x:arr){ system.out.println(i +","); } 学习过程中仅作记录
目录 StringBuilder的概述1 StringBuilder的概述2 StringBuilder和String的区别 StringBuilder构造方法 public static void...,每次拼接,都会构建新的String对象,既耗时,又浪费空间,而这种操作还不可避免。...那么有没有一种比较好的方法可以解决这个问题? 答案是肯定的,我们可以通过java提供的StringBuilder类就可以解决。...StringBuilder的概述2 StringBuilder是一个可变量的字符串,我们可以把它看成是一个容器 这里的可变指的是StringBuilder对象中的内容是可变的。...StringBuilder和String的区别 1.String :内容是不可变的。 2.StringBuilder:内容是可变的。 StringBuilder构造方法 ----
final类型, 不能被继承,String is a Reference Type,Defined in java.lang package 常用方法: length() String greeting...don’t use ==)(测试是否相等) String s = “Hello”; s.equals(greeting); “Hello”.equalsIgnoreCase(“hello”);(忽略大小写的测试相等... s = s + s1.charAt(i); System.out.println(s); } } String表示字符串常量:一旦创建后不会再做修改和变动的字符...之所以采用这种方法是因为实现固定的,不可变的字符串比实现可变的字符串更简单高效。对于那些想得到改变的字符串的情况,有一个叫做 StringBuffer的String类的友类。...它的对象包含了在创建之后可被改变的字符串。String类和StringBuffer类都在 java.lang包中定义。
领取专属 10元无门槛券
手把手带您无忧上云