老师为什么我这里使用static修饰反序列化后还能读取出来??
老师关于课程:transient关键字是什么
老师这里为什么使用FileOutputStream可不可以使用OutputStream
这个代码中线程池中创建多个线程, 执行线程任务,这多个线程任务没有加锁,所以不是线程同步,否则10个线程,20个线程,执行的时间都是 20*2 = 40秒 , 这个属于线程异步了, 但是实际高并发的情况下,为了数据的安全,还是要加锁,那这样使用线程池也就只是节约了线程的创建和销毁时间, 同步线程下对线程任务执行效率没有影响呢.
老师map集合是否有序,网上查结果都不相同
老师,我读取txt文件的时候没有问题,读取pdf文件的时候出现乱码,是什么问题?
这个是什么意思,能不能详细的说明一下?????????
老师,为什么要分开写d1.flag=true和d2.flag=false
老师,这个乱码问题是怎么回事,有好的改法嘛
从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点
老师这句话什么意思,简单说明一下吧(我学过数据结构的,有点忘记了)
老师这个为什么是二叉树,这个元素没有顺序啊
老师关于add(int index,Object obj) 插入尾节点总覆盖,能不能帮我看一下,解释麻烦详细一点我基础不太好
package cn.sxt.mylinked; import java.util.LinkedList; //插入索引节点 public class MyLinked04 { Node first;// 第一个节点元素 Node last;// 最后一个节点元素 int size;// 大小 // add public void add(Object object) { // 初始化node节点 Node node = new Node(object); // 判断第一个节点是不是首节点,是则初始化 if (first == null) { // first=null; // last=null; first = node; last = node; } else { // 新节点的前指针指向之前最后一个节点的数据域 node.previous = last; // 新节点的后指针制空 node.next = null; // 原先最后一个节点的最后指针域指向新节点的数据域 last.next = node; // last后移一位,新节点变成last最后一个节点 last = node; } // 添加方法后元素大小加1 size++; } // remove方法 public void remove(int index) { Node temp = getNode(index); // 获取该节点的前一个节点 Node up = temp.previous; // 获取该节点的后一个节点 Node down = temp.next; // 若前节点非空执行,不然会报空指针异常 if (up != null) { up.next = down; } // 若后节点非空执行,不然会报空指针异常 if (down != null) { down.previous = up; } // 若前节点为空 if (up == null) {// index==0 // 将first指向第二个节点,size-1 first = down; size--; } // 若后节点为空 if (down == null) {// index==size-1 last = temp; size--; } } // get方法 public Object get(int index) { // 索引判断 if (index < 0 || index > size - 1) { throw new RuntimeException("索引越界:" + index); } /* * //定义临时节点 Node temp=first; for(int i=0;i<index;i++) { * //如果不进行index判断,则index超出范围后,temp=null,temp.next就空指针异常(null调用了方法) * temp=temp.next; } return temp.element; */ // 对注释优化:提高查找效率 Node temp = getNode(index); return temp.element; } private Node getNode(int index) { Node temp = null; if (index <= (size >> 1)) {// 前部分 temp = first; for (int i = 0; i < index; i++) { temp = temp.next; } } else {// 后部分 temp = last; // 从后往前找 for (int i = size - 1; i > index; i--) { temp = temp.previous; } } return temp; } // toString方法重新写 @Override public String toString() { // 创建StringBuilder对象进行字符串拼接 StringBuilder sb = new StringBuilder("["); // 临时节点 Node temp = first; while (temp != null) { sb.append(temp.element + ","); // 寻找下一个节点 temp = temp.next; } // 将最后一个,改成] sb.setCharAt(sb.length() - 1, ']'); // 返回字符串 return sb.toString(); } // get(int index,Object obj) public void add(int index, Object object) { // 创建新节点 Node newNode = new Node(object); // 获取index位置的节点 Node node = getNode(index); if (node != null) { // 非首节点 if (node.previous != null) { Node preNode = node.previous; preNode.next = newNode; newNode.previous = preNode; node.previous = newNode; newNode.next = node; } // 首节点 if (index==0) { newNode.previous = null; newNode.next = node; node.previous = newNode; first=newNode; //System.out.println(size); // System.out.println(newNode); } //尾节点 if(index!=size-1) { //newNod:胡歌 node:古天乐(前) newNode.previous = last; newNode.next=null; last.next = newNode; last=newNode; } } } // main public static void main(String[] args) { MyLinked04 myLinked = new MyLinked04(); System.out.println("添加方法:"); myLinked.add("欧阳娜娜"); myLinked.add("李沁"); myLinked.add("古天乐"); myLinked.add(3, "胡歌"); System.out.println(myLinked); } }
-泛型的高级使用_容器中使用泛型-
23行没有报错,原因是?
请问File.separator中的separator什么意思?
有什么作用?
老师这个索引越界报错找不出来能不能帮我看一下
TestList.zip
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637