以下java程序代码,执行后的结果是()
java.util.HashMap map=new java.util.HashMap();map.put("name",null);map.put("name","Jack");System.out.println(map.size());
A 0B nullC 1D 2
他的回答:
D (错误)
正确答案:
C
HashMap可以插入null的key或value,插入的时候,检查是否已经存在相同的key,如果不存在,则直接插入,如果存在,则用新的value替换旧的value,
第一条put语句,会将key/value对插入HashMap,
第二条put语句,要替换为(name,jack)。所以,size为1.
以下描述正确的是A CallableStatement是PreparedStatement的父接口B PreparedStatement是CallableStatement的父接口C CallableStatement是Statement的父接口D PreparedStatement是Statement的父接口
他的回答:
D (错误)
正确答案:
B
Statement 对象用于将 SQL 语句发送到数据库中。
实际上有三种 Statement 对象,它们都作为在给定连接上执行 SQL语句的包容器:
- Statement、
- PreparedStatement(它从 Statement 继承而来)和
- CallableStatement(它从 PreparedStatement 继承而来)。
它们都专用于发送特定类型的 SQL 语句:
- Statement 对象用于执行不带参数的简单 SQL 语句;
- PreparedStatement 对象用于执行带或不带 IN参数的预编译 SQL 语句;
- CallableStatement 对象用于执行对数据库已存储过程的调用。
- Statement 接口提供了执行语句和获取结果的基本方法。
- PreparedStatement 接口添加了处理 IN 参数的方法;
- 而CallableStatement 添加了处理 OUT 参数的方法。
下列关于容器集合类的说法正确的是?A LinkedList继承自ListB AbstractSet继承自SetC HashSet继承自AbstractSetD WeakMap继承自HashMap
他的回答:
A (错误)
正确答案:
C
ArrayList list = new ArrayList(20)中的list扩充几次
A 0
B 1
C 2
D 3
正确答案:A
ArrayList list=new ArrayList();
这种是默认创建大小为10的数组,每次扩容大小为1.5倍
ArrayList list=new ArrayList(20);
使用的ArrayList的有参构造函数
这种是指定数组大小的创建,创建时直接分配其大小,没有扩充。
一次性为创建了传入的数字的长度的数组
所以,扩充为0次
一次性为创建了传入的数字的长度的数组
所以,扩充为0次
下列关于Java并发的说法中正确的是()A CopyOnWriteArrayList适用于写多读少的并发场景B ReadWriteLock适用于读多写少的并发场景C ConcurrentHashMap的写操作不需要加锁,读操作需要加锁D 只要在定义int类型的成员变量i的时候加上volatile关键字,那么多线程并发执行i++这样的操作的时候就是线程安全的了
正确答案:
B
标题:求最大连续bit数 | 时间限制:1秒 | 内存限制:32768K | 语言限制: 不限
【求最大连续bit数】
功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1
输入: 一个byte型的数字
输出: 无
![](https://img-blog.csdnimg.cn/20210507153620301.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NjIxMzc2,size_16,color_FFFFFF,t_70)
import java.util.Scanner;
/**
* Created by JiaLe on 2021/4/22 22:08
*/
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {
int a = in.nextInt();
StringBuilder str = new StringBuilder("");
while(a > 0) {
int n = a & 1;
str.append(n);
a >>= 1;
}
int count = 0;
int max = 0;
for(char ch : str.toString().toCharArray()) {
if(ch == '0') {
count = 0;
} else {
count++;
max = Math.max(count,max);
}
}
System.out.println(max);
}
}
}
标题:最近公共祖先 | 时间限制:3秒 | 内存限制:32768K | 语言限制: [Python, C++, C#, Java]
【最近公共祖先】
有一棵无穷大的满二叉树,其结点按根结点一层一层地从左往右依次编号,根结点编号为1。现在有两个结点a,b。请设计一个算法,求出a和b点的最近公共祖先的
编号。
给定两个int
a
,
b
。为给定结点的编号。请返回
a
和
b
的最近公共祖先的编号。注意这里结点本身也可认为是其祖先。
![](https://img-blog.csdnimg.cn/20210507153852359.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NjIxMzc2,size_16,color_FFFFFF,t_70)