안녕하세요 두 문자열 목록에서 공통 값을 가져 오려고합니다 ... 목록 A는 Excel 데이터베이스를 쿼리하여 얻은 값을 가지며 목록 B는 SQL 데이터베이스를 쿼리하여 가져온 값을 갖습니다. 나는 retainAll 컬렉션을 사용하기 위해 A와 B.의 공통 값을 갖고 싶다. 하지만 그것은 일반적인 가치를 인쇄하지 않습니다. 이 문제를 해결하도록 도와주세요. retainAll을 사용하는 것과는 다른 일반적인 값을 얻는 방법. 내 코드 조각을 수정하십시오.retainAll 값을 인쇄하지 않습니다
//connecting excel database and storing its values
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:spreadsheetdb","","");
out.println("Excel Database connected" +"<br>");
Statement stmt=conn.createStatement();
String excelquery="Select * from [Sheet1$]";
ResultSet excelvalues= stmt.executeQuery(excelquery);
List A= new ArrayList();
while(excelvalues.next()){
A.add(excelvalues.getString("name"));}
//connection sql Db and storing its values
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connection = DriverManager.getConnection("jdbc:odbc:copyknowledgebase","sa","sqladmin");
out.println("<br>"+"MSSQL connected " +"<br>")
Statement statement=connection.createStatement();
String conceptquery="Select * from dbo.conc";
ResultSet conceptdetails=statement.executeQuery(conceptquery);
Timestamp ts = new Timestamp(new java.util.Date().getTime());
List B = new ArrayList();
while(conceptdetails.next()){
B.add(conceptdetails.getString("Cname"));
}
B.retainAll (A);
out.println(B);
확실히 당신을 당신이 있습니까 목록에는 retainAll을 호출하기 전에 예상하는 데이터. 직접 값을 인쇄하면 어떻게됩니까? – n00begon
예 두 목록의 공통된 요소가 있습니다. – user1193904
retainAll이 콜렉션의 공통 요소를 찾는 데 유익한 경우 나는 신중하지 않다. 예를 들어리스트 A가 {a, b, b, c}이고 B가 {a, b, d} 인 경우 A.retainAll (B) = {a, b, b} . RetainAll은 다른 콜렉션에없는 요소 만 제거합니다. – Pshemo