java基础(面试)
来源:互联网 发布:c语言编写 玫瑰花 编辑:程序博客网 时间:2024/05/20 18:49
InputStream转byte[] :
public static byte[] InputStreamTobytearray(InputStream in){ ByteArrayOutputStream out=new ByteArrayOutputStream(); byte[] buff=new buff[1024]; //缓存区 int length=0; while((length=in.read(buff))!=-1){ out.write(buff,0,length); } out.close; in.close; byte[] bytes=out.toByteArray(); return bytes; }
ArrayList与LinkedList区别
- ArrayList是基于索引的数组类型集合,而LinkedList是基于指针的链表类型集合
- ArrayList的查找和读取数据是很快的,插入和删除则是很慢的(除尾插入和尾删除),因为改变数组中数据,其他数据位置索引也要发生改变。
- LinkedList的查找和读取数据是很慢的,因为需要指针从头开始一个一个往下查找,但是插入和删除则很快,因为只需要将插入或删除位置的前后指针指向,不需要改变其他数据
- LinkedList需要更多内存,因为每个节点中存储的是实际数据和前后节点的位置
总结:若经常查找与读取数据,可以用ArrayList;若经常插入和删除数据,可以用LinkedList;平时使用的比较多的是ArrayList
HashMap与HashTable区别
- HashMap是非synchronized的,同时可以接收为null的键值对,但是Hashtable不行,它是线程安全的
二分查找法
public static int query(int[] a,int b){ int low=0,high=a.length-1; int mid=0; //这里注意是小于等于,low和high有重合的时候 while(low<=high){ mid=(low+high)/2; System.out.println("mid:"+mid); if(b<a[mid]) high=mid-1; else if(b>a[mid]) low=mid+1; else if(b==a[mid]) return mid; } return -1; }
阅读全文
0 0
- //面试(java基础)
- java基础(面试)
- java基础面试(1)
- java基础面试(2)
- Java基础(1)--面试
- Java基础面试遇到问题(一)
- JAVA面试基础(代码之类)
- java面试核心基础(1)
- Java基础面试点(1)
- Java面试基础部分(1)
- Java面试基础部分(2)
- Java面试基础3(线程)
- Java面试基础4(集合&IO)
- Java基础学习(面试宝典):
- 面试知识点(第一弹:java基础)
- java面试常见基础知识点(一)
- java面试常见基础知识点(二)
- java基础面试(收藏上)
- 核心动画(四)- 转场动画、组动画
- PHP面向对象的封装、抽象和接口
- JS 面向对象,以及静态方法与实例方法的调用区别
- Java字符串的存储
- 2017 四川省赛 E.Longest Increasing Subsequence【思维+贪心】
- java基础(面试)
- 埃拉托斯特尼筛法 VS 欧拉筛法 (素数筛选) Java
- -webkit-tap-highlight-color
- 判断两个不带环链表是否相交?若相交,求入口点。
- codeforces 676-C. Vasya and String(尺取)
- Hihocoder 1426 E. What a Ridiculous Election (BFS)
- Android笔记(10)MD5加密
- 重要标签总结
- 51NOD1094 和为k的连续区间