
Java
码农二狗子
愿归来仍是少年!
展开
-
DFS深入理解之-8皇后问题
在8*8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行,同一列,或者同意斜线上,问一共有多少种摆法? 解题思路:DFS深度递归;按照从上往下的顺序放置皇后,每列只能放置一个皇后;每次放置一个皇后前,先判断当前位置的同行,对角线位置是否已经放置了皇后,若放置,则当前位置不放置皇后,回溯至原来,找下一个位置;若没有,则选择当前点,继续广度,深度递归,直接所有皇后都放置结束;这里定义一个二维数组来存放记录某个位置是否已经放置了元素; 代码如下: public class Main {原创 2021-11-28 22:41:53 · 547 阅读 · 0 评论 -
欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2016-11-03 22:31:40 · 198 阅读 · 0 评论 -
String、StringBuffer,StringBuilder区别
String、StringBuffer、StringBuilder 1. 三者在执行速度方面的比较:StringBuilder>StringBuffer>String 2. String <(StringBuilder,StringBuffer)原因: String:字符串常量 StringBuffer:字符串变量 StringBuilder:字符串变量也就是说,String是字符串常原创 2016-11-04 10:18:36 · 235 阅读 · 0 评论 -
Java中final和static
一、 final根据程序上下文环境,java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能处于两种理解而需要阻止改变:设计或效率。Final类不能被继承,没有子类,final类中的方法默认是final的 Final方法不能被子类的方法覆盖,但可以被继承 Final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 Final不原创 2016-11-04 13:43:12 · 293 阅读 · 0 评论 -
hashMap集合遍利方式
/* * 方法一:for each map.entrySet() */ Map<String, String> map=new HashMap<String, String>(); map.put("name", "123"); for(Entry<String, String> entry:map.entrySet原创 2016-11-04 17:04:38 · 295 阅读 · 0 评论 -
Java集合ArrayList,Vector,LinkedList
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记原创 2016-11-04 18:07:42 · 244 阅读 · 0 评论 -
Java中的单例模式
一、概述: 单例模式的写法有好几种,这里主要有三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动原创 2016-11-07 09:49:30 · 226 阅读 · 0 评论 -
如何编写一个简单群聊
运用学过的Tcp网络编程可以实现一个简单的群聊,其代码如下:服务器端的代码如下:public class TcpServer { //因为ArrayList本身不是线程安全的,所以通过集合Collections.synchronizedList将其转换为一个线程安全的类 public static List<Socket> listSocket = Collections.synchro原创 2016-12-24 17:11:25 · 681 阅读 · 0 评论 -
调用内部类的私有方法,其中内部类和外部类的构造器都是私有的
1.首先类如下:package test;public class Outer { private Outer() { } private void eat(String food) { System.out.println("我在吃"+food); } class Inner{ private Inner(){ }原创 2017-04-10 22:43:21 · 1469 阅读 · 1 评论