1.故意把程序搞出来异常
分析34,
是因为这个根本没有使用,才导致的
2.
这个while放在方法里就不报错,
放在这里就报错,究其原因是因为没有放在方法里,不能把Clienterhandler写成方法,它必须是类,需要用,方法自己重写一个
经过测试,的确需要写在测试中
好了一点,但是出现socket没有使用
需要使用
运行完还是出错
可能去写
package map;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class MapDemo1 {
public static void main(String[] args) {
Map<String,Integer> map = new HashMap<>();
map.put("语文",99);
map.put("数学",98);
map.put("英语",99);
/*
Set<String> key = map.keySet();
for (String k:key
) {
System.out.println(k);
}
*/
Set<Map.Entry<String,Integer>> mapset = map.entrySet();
for (Map.Entry<String,Integer> m: mapset
) {
System.out.println(m);
}
/*
Collection<Integer> values = map.values();
for (Integer value:values
) {
System.out.println("value:"+value);
}
*/
Collection<Integer> values = map.values();
for (Integer v:values
) {
System.out.println("value:"+v);
}
}
}
map集合
java.util.Map查找表
Map是java集合框架中的一员,但不是实现的Collection接口!!
Map体现的结构是一个多行两列的表格,其中左列成为key,右列称为value
Map总是成对的保存数据,并且总是根据key来获取value的值
Map要求key不允许重复
Map是一个接口,常用的实现类:
java.util.HasMap:使用的散列算法实现的Map,称为散列表
Java.util.TreeMap;使用的二叉树算法实现的Map
/*
V put(K k,V v)
将给定的键值对值存入到Map
由于Map要求key不允许重复,因此若使用Map中已有的key时则是替换value操作
此时该方法会将这个key原有的value值返回
如果不是重复的key,返回值为null
Map的便利
Map提供了三种遍历方式:
遍历所有的key
遍历每一组键值对
遍历所有的value(这个操作不常用)
java的反射机制
反射是java的动态机制,
可以在程序[运行期间]确定对象的实例化,方法的调用等操作
动态机制可以提高代码的灵活度,但是在运行效率低,内存开销大,
因此不能过度的依赖反射机制
三种1.基本类型.class 比如 int.class
2.classforName();获取类名,自己写的类型
3.Classloader类加载模式
get 和post区别
get不安全,在url上,get得到的信息会有name和password,post比较安全,看不到这些信息.当然这只是理解.具体术语这样来描述
区别1:post请求更安全,post请求不会作为url的一部分,不会被缓存到浏览器的记录中,get请求的是静态资源,则会缓存,如果是数据则不会缓存
2:post请求发送的数据更大,get请求有url长度限制.
先记住这两个.
wait和sleep的区别
sleep是thread里面的,使用时直接thread打点调用即可,具有阻塞的作用,它不会自己释放资源的
sleep是thread中的方法,wait是object类中的方法
线程池:
重复使用,线程的数量有限的,
线程和进程文章来源:https://www.toymoban.com/news/detail-410439.html
线程是调度的最小单位,进程是cpu开辟内存空间的最小单位文章来源地址https://www.toymoban.com/news/detail-410439.html
到了这里,关于有关MAP各种概念的训练的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!