Java基础整理
一、Java中的遍历
1、在java开发中会碰到遍历List删除其中多个元素的情况,如果使用一般的for循环以及增强的for循环,代码会抛出异常ConcurrentModificationException。
(1)一般的for循环
for(int i=0;i<list.size();i++){
if(list.get(i).equals("example")){
list.remove(i);
}
}
(2)增强for循环
for(String str:list){
if(str.equals("example")){
list.remove(str);
}
}
(3)iterator遍历【只有这种情况可以在遍历的同时删除,注意在循环内部iterator.next()不要重复调用否则会报错】
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
String x = iterator.next();
if(x.equals("example")){
iterator.remove();
}
}
二、HashMap的顺序问题
HashMap本身是无序状态,所以使用Iterator读取到的顺序不一定是写入的顺序,如果要保证顺序,需要使用LinkedHashMap
三、使用String.split("正则表达式")
如果直接使用“|”来进行分割字符串,会导致字符串按照正则表达式来切割,导致字符串被分隔为一个个的字符。这时需要使用“\\|”来实现愿意。
四、Java中java.util.Date相关知识整理
1、java.util.Date的after和before、equal
public boolean after(Date when):当且仅当此 Date 对象表示的瞬间比 when 表示的瞬间晚,才返回 true;否则返回 false。
public boolean before(Date when):当且仅当此 Date 对象表示的瞬间比 when 表示的瞬间早,才返回 true;否则返回 false。
public boolean equals(Object obj):比较两个日期的相等性。当且仅当参数不为 null,并且是一个表示与此对象相同的时间点(到毫秒)的 Date 对象时,结果才为 true。因此,当且仅当 getTime 方法对于两个 Date 对象返回相同的 long 值时,这两个对象才是相等的。
五、java中replace和replaceAll的区别
class HtmlFileFilter implements FilenameFilter {
@Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
if (name.endsWith(".html"))
return true;
return false;
}
}
public void test() {
File file = new File("E:/files");
String[] list = file.list(new HtmlFileFilter());
System.out.println("HTML类型的文件有:");
for (String f : list) {
System.out.println(f);
}
}
同时你也可以使用匿名的内部类来实现文件过滤的功能,简化代码:
import java.io.File;
import java.io.FilenameFilter; public class TestFile {
public static void main(String[] args) {
// TODO Auto-generated method stub
File file = new File("E:/files");
String[] list = file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
if (name.endsWith(".html"))
return true;
return false;
}
});
System.out.println("HTML类型的文件有:");
for (String f : list) {
System.out.println(f);
}
} }
Java基础整理的更多相关文章
- JAVA基础整理-集合篇(一)
集合作为JAVA的基础知识,本来感觉自己理解的很清楚了,但是在最近的一次面试中还是答得不尽如人意!再次做一下整理,以便加深理解以及随时查阅. 首先,java.util包中三个重要的接口及特点:List ...
- java基础整理1
1.匿名对象:new persion().tell();这样的,它只开辟栈内存,没有栈引用的关系 2.构造方法的名称必须与类名称一致,构造方法的声明处不能有任何返回值类型的声明,不能在构造方法中使用r ...
- Java基础整理(1)
1.源代码的文件名必须与公共类(public)的类名一致,而且一个源代码文件中最多只能有一个公共类(public) 2.注释: 3种 行注释 以双斜线 // 开始 段落注释 /* 注释内容 ...
- Java基础整理之字节、数组、字符串、面向对象
一.字节(8个)8bit = 1B或1byte1024B = 1Kb 二.强制类型转换顺序及其大小顺序遵循向上转换的规则byte,short,char -> int -> long -&g ...
- java基础整理总结篇(1)
>>java数据区域,大致分以下几种 寄存器:位于cpu内部,寄存器的数量有限,所以寄存器根据需求分配.不能直接控制它. 堆栈:位于通用RAM(随机访问存储器)中,通过堆栈指针可以从处理器 ...
- 6 Java基础整理 第六-八章
1.封装 封装的目的是简化编程和增强安全性. 简化编程是指,封装可以让使用者不必了解具体类的内部实现细节,而只是要通过提供给外部访问的方法来访问类中的属性和方法 增强安全性是指,封装可以使某个属性只能 ...
- [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)
如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html 谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...
- Java基础进阶整理
Java学习笔记整理 本文档是我个人整理的,首先是想通过完成本文档更加扎实自己的基础加强对java语言的理解,然后就是想给入了门的同志们做下贡献. 当然,本文档主要是对java语言基础(当然还有很多基 ...
- 转载:[Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)
原文:http://www.cnblogs.com/wang-meng/p/5898837.html 一:继承.抽象类与接口区别.访问控制(private, public, protected,默认) ...
随机推荐
- SpringBoot-Jar打包方式
发布打包 Jar类型打包方式 1.使用mvn celan package 打包 2.使用java –jar 包名 war类型打包方式 1.使用mvn celan package 打包 2.使用jav ...
- mongodb studio 3t 破解无限使用脚本
@echo off ECHO 重置Studio 3T的使用日期...... FOR /f "tokens=1,2,* " %%i IN ('reg query "HKEY ...
- 几种Robust方法对比
1.Mean Absolute Deviation http://mathbits.com/MathBits/TISection/Statistics1/MAD.html 2.Median Absol ...
- Lua搜索特殊字符
local newtext = "." local index1 = string.find(newtext,"%.") 在这里,"."是通 ...
- Python 命名笔记
类名开头大写,驼峰命名 函数名,变量名都小写, 全局常量 如COUNT, 使用全部大写 https://www.cnblogs.com/lytwajue/p/7324724.html 这个是全局变量关 ...
- JS 8-5 OOP 实现继承的方式
function Person(){} function Student(){} Student.prototype = Person.prototype;//此继承方式是错误的,当我们改变Stude ...
- Centos7系统防火墙上开端口
//permanent 永久生效 没有此参数重启失效 firewall -cmd --zone=public --add -port=80/tcp --permanent //开 ...
- 26-Python3 面向对象
26-Python3 面向对象 ''' 面向对象技术简介 ''' ''' 类定义 ''' ''' 类对象 ''' class MyClass: i = 12345 def f(self): retur ...
- 20165321实验一 Java开发环境的熟悉
一.idea调试: 二.实验内容: 实现学生成绩管理功能(增删改,排序,查找),并进行测试(正常情况,异常情况,边界情况). 运行截图: 代码: public class Student { Stri ...
- react结合redux开发
先加上我码云的地址:https://gitee.com/ldlx/react_and_rudex