在编写Java代码中,我们或多或少会遇到下面的一些案例,对于这些情况,我们怎么做?那么接下来我介绍一些方法,大家可以看一下:
1.判断数组{"a","b","c","d"}是否包含有"a",见以下代码,你喜欢用哪一种呢,我推荐使用monospace; font-size: 1em; line-height: 1.5;">ifcontainsByArrays,因为该方法内部更严谨一些。
class="java">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; }
?暂时先列举两个,有时间的话,继续
?