博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中需要注意的一些案例
阅读量:5837 次
发布时间:2019-06-18

本文共 1676 字,大约阅读时间需要 5 分钟。

在编写代码中,我们或多或少会遇到下面的一些案例,对于这些情况,我们怎么做?那么接下来我介绍一些方法,大家可以看一下:
  1.判断数组{"a","b","c","d"}是否包含有"a",见以下代码,你喜欢用哪一种呢,我推荐使用ifcontainsByArrays,因为该方法内部更严谨一些。
public static void main(String[] args) {
String [] strs = {"a","b","c","d"};
Test t = new Test();
System.out.println(t.ifcontains(strs, "a"));
System.out.println(t.ifcontainsByArrays(strs, "a"));
}
public boolean ifcontains(String [] strs, String str) {
for (String s : strs) {
if (s.equals(str)) {
return true;
}
}
return false;
}
public boolean ifcontainsByArrays(String [] strs, String str) {
// 注意:Arrays.asList()方法返回的是 java.util.Arrays.ArrayList而不是java.util.ArrayList
return Arrays.asList(strs).contains(str);
}
  2.在循环中删除一个列表中的元素,见如下代码,我建议使用removeByIterator方法,因为不需要再创建新的list。
public static void main(String[] args) {
List<String> list = new ArrayList<String>(Arrays.asList("a", "b", "c", "d"));
List<String> list1 = new ArrayList<String>(Arrays.asList("a", "b", "c", "d"));
Test1 t = new Test1();
for (String s : t.removeByIterator(list, "c")) {
System.out.print(s);
}
System.out.println();
System.out.println("----------------------------");
for (String s : t.removeByNewList(list1, "c")) {
System.out.print(s);
}
}
public List<String> removeByNewList(List<String> list, String str) {
List<String> newList = new ArrayList<String>();
for (String s : list) {
if (!s.equals(str)) {
newList.add(s);
}
}
return newList;
}
public List<String> removeByIterator(List<String> list, String str) {
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String s = iterator.next();
if (s.equals(str)) {
// 移除迭代器返回的元素
iterator.remove();
}
}
return list;
}
  暂时先列举两个,有时间的话,继续
最新内容请见作者的GitHub页:http://qaseven.github.io/

转载地址:http://foncx.baihongyu.com/

你可能感兴趣的文章
NodeJS框架Express的模板视图机制
查看>>
利用openCV实现自动抓拍,人脸识别,清晰度的验证等
查看>>
python-selenium-firefox环境搭建时常遇到的小问题
查看>>
图像链接 与 图像映射 的区别
查看>>
lisp等
查看>>
acess() 判断目录是否存在
查看>>
对rsync进行封装的shell脚本
查看>>
程序之美(转自知乎)
查看>>
Django---视图
查看>>
js间隔一段时间打印数据库中的值
查看>>
CVS 文件自动移 tag 的 Python 脚本
查看>>
jave 计算音视频时长
查看>>
markdown的学习记录
查看>>
【转】Verilog阻塞与非阻塞赋值使用要点
查看>>
1054. [HAOI2008]移动玩具【BFS】
查看>>
GPU
查看>>
MicroPython之TPYBoard v102开发板控制OLED显示中文
查看>>
【51NOD】斜率最大
查看>>
FreeMarker之入门实例
查看>>
从Maya中导入LightMap到unity中
查看>>