Javaで注意すべき事例


Javaコードを作成する上で、私たちは多かれ少なかれ次のようなケースに遭遇します.これらの状況について、私たちはどのようにしますか.では、次にいくつかの方法を紹介します.
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メソッドを使用することをお勧めします.新しいリストを作成する必要はありません.
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;
	}

 とりあえず2つ挙げて、時間があれば、続きます