
java基础与高级
Frank_Liu_Meng
天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,增益其所不能。
展开
-
List与Set的关系和区别
List和Set是用来存放集合的接口,并且二者都继承自接口Collection。1、在List中的元素存放是有序的,可以存放重复的元素,检索效率较高,插入删除效率较低。 ArrayList、LinkedList、Vector是List的两个实现类。 ArrayList: 底层的实现就是一个可变数组非同步实现,当数组长度不够用的时候就会重新开辟一个新的数组,然后将原来的数据拷贝到新的数组内...原创 2018-08-27 21:03:06 · 6238 阅读 · 2 评论 -
给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。
给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。这里用到了字符串的compareTo方法,两个字符串如何排序,需要他们正向和反向进行拼接,然后进行比较,然后把大的放后面public static void main(String[] args) { int[] nums = new int[]{50, 9, 23, 2, 21}; System.ou...原创 2019-03-20 20:20:48 · 9118 阅读 · 3 评论 -
Lock锁的通信机制,三个线程交替输出ABC
1、首先这里用到了Lock锁;2、三个线程交替输出不同的字母,就需要三个不同的方法(输出A的方法,输出B的方法,输出C的方法);3、并且必不可少还要用到Condition类完成线程间的通信;4、还有一个必要的条件就是三个方法必须在同一类中,这样三个方法才能进行通信;5、最后我们还需要一个变量进行标识轮流到哪个线程了。第一步:创建拥有这三个方法的类class AlternateDemo{...原创 2019-03-07 15:39:54 · 676 阅读 · 1 评论 -
java动态代理
动态代理是java反射机制的重要的应用。总结动态代理这一篇也算是对上一篇反射机制的扩展吧。那我们就先从静态代理说起。静态代理问题描述一个品牌衣服工厂,拥有很多方法,如购买布料,购买染料,生产衣服,设计款式等等,现在需要一个对象(代理对象,俗称秘书)代替工厂来完成生产衣服这一工作。而其他的工作也可以由其他的代理对象(秘书)来完成对应的工作,这样就不用工厂自己完成工作了,就如同生活中,老板赋予秘...原创 2018-12-17 21:13:34 · 178 阅读 · 0 评论 -
java反射机制
java反射机制是java基础重要的一部分,也是后面所学的框架的灵魂。我们先从反射概念开始说吧。一、java反射的概述(1)java反射的概念JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取类或对象的信息以及动态调用对象的方法的功能称为java语言的反射机制。(2)反射的作用从概念中不难看出...原创 2018-12-06 20:51:59 · 278 阅读 · 0 评论 -
eclipse如何连接操作MySQL数据库
eclipse连接MySQL分为准备工作和实施工作 在这之前你必须有MySQL的jdbc的驱动包(jar包) 点击https://pan.baidu.com/s/1mMwjmrU7btwaxfzXyUjcsQ可下载 1、准备工作 (a)启动MySQL服务 (b)在eclipse创建项目并在项目下创建文件夹lib (c)把MySQL的jdbc的jar包复制到lib中 (d)右击...原创 2018-09-05 18:26:22 · 3212 阅读 · 1 评论 -
编写一个程序,给定一个字符串“aaa果4金5a”。要求:如果出现数字,把数字后面的字符替换成数字的个数个。比如这个字符串要求被替换成“aaa果金金金金aaaaa”。
这里没有将数字字符转换成数字进行操作,而是直接进行字符的比较和字符++操作来取出数字和控制输出次数,下面是代码,希望对大家有所帮助 public static void main(String[] args) { String str="aaa果4金5a";//定义字符转,也可从控制台输出字符串 for(int i=0;i<str.length();...原创 2018-08-25 17:20:30 · 764 阅读 · 0 评论 -
Eclipse快捷键大全
常用操作 Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了) Alt+↑ 当前行和上面一行交互位置(同上) Alt+← 前一个编辑的页面 Alt+→ 下一个编辑的页面...转载 2018-08-25 15:35:56 · 149 阅读 · 0 评论 -
java创建对象时成员变量初始化、静态变量初始化和构造方法执行顺序
class Bowl{ Bowl(int marker){ System.out.println(“Bowl(” + marker + “)”); } void f1(int marker) { System.out.println(“f1(” + marker + “)”); } }class Table{ ...转载 2018-08-21 20:51:33 · 1438 阅读 · 0 评论 -
java中内部类创建:成员内部类、局部内部类、静态内部类和匿名内部类
public修饰的成员内部类/** * 成员内部类访问外部类成员变量:直接访问 * * * @author Administrator * */class Outer{ private int num=3; public void method() { System.out.println("method()"); } publ...原创 2018-08-22 12:21:21 · 469 阅读 · 0 评论 -
java中this用法
class Leaf{ int i=0; Leaf increment() {//返回值为Leaf对象 i++; return this;//返回当前对象 } void print() {//打印成员变量方法 System.out.println("i = "+i);//打印成员变量 }}public cl...原创 2018-08-22 20:44:19 · 275 阅读 · 0 评论 -
java集合和数组的异同点
集合: 可以存储不同类型的元素(通常使用泛型,存储一种类型元素) 集合的长度可以改变 数组: 必须存储相同一类型的元素 数组的长度固定...原创 2018-08-23 20:15:29 · 708 阅读 · 0 评论 -
HashMap集合的get(),keySet(),values(),put(),clear()方法的使用
get(),keySet(),values(),put(),clear()这些方法必须用HashMap的对象进行调用import java.util.*;/** * Map<key,value> * 键值对存储 * 键唯一,值可以重复 * * get(Object key) 通过key得到value,返回key对应的value值 * ...原创 2018-08-23 20:36:14 · 1410 阅读 · 0 评论 -
Vector集合的三种遍历方法
Vector一种老的动态数组,很多方法都用synchonized修饰,所以它是线程安全得,而一般集合是线程不安全的Vector集合存储元素的特特点 多个线程同时访问不会发生不确定的结果,但是它的效率会比较低,如果要考虑线程安全的话可以用它import java.util.*;/** * Vector集合存储字符串元素并遍历 * * @author Administrator...原创 2018-08-23 21:51:33 · 2053 阅读 · 0 评论 -
去除字符串的叠词:我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程
public static void main(String[] args) { StringBuffer s2=new StringBuffer("我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程");//初始化字符串 char c=s2.charAt(0);取出字符串第0个位置的字符 for原创 2018-08-24 20:37:58 · 1747 阅读 · 4 评论 -
马踏棋盘java——递归+贪心+回溯
package graph;import java.util.Scanner;/** * @author LM_Code * @create 2019-05-15-17:07 */public class KnightProblem2 { /* * 马踏棋盘问题:(贪婪法求解) * 棋盘有64个位置,“日”字走法,刚好走满整个...原创 2019-05-15 18:56:48 · 390 阅读 · 0 评论