자바 고급 시험 문제 복습 문제 2 - 자바 용기 문제 집
1. 자바 집합 프레임 워 크 는 성능 이 우수 하고 사용 하기에 편리 한 인터페이스 와 클래스 를 제공 합 니 다. Collection 과 Map 두 가지 유형 을 포함 하여 모두 (java. util) 가방 에 있 습 니 다. 2. 대기 행렬 과 스 택 은 약간 비슷 합 니 다. 다른 점 은 (스 택 은 선진 적 인 것 이 고 대기 행렬 은 선진 적 인 것 입 니 다.)
1.
Java ( AC )。( )
A.
List Set Collections
B.
List ,
C.
Set ,
D.
Map ,
2.
Java , ( A )。( )
public class Test {
public static void main(String[ ] args) {
List list=new ArrayList();
list.add("str1");
list.add(2, "str2");
String s=list.get(1);
System.out.println(s);
}
}
A
B.
, str1
C.
, str2
D.
3.
Java , , ( D ) 。( )
import java.util.List;
public class Test {
public int getIndexofArray(float[] f){
int rtn=-1;
float objf=3.4;
List list=null;
for(int i=0;i al) {
al.add(2);
al = new ArrayList();
al.add(3);
al.add(4);
}
public static void main(String[] args) {
List al = new ArrayList();
al.add(1);
print(al);
System.out.println(al.get(1));
}
}
A
1
B.
2
C.
3
D.
4
5.
Java , 、 ( D )。( )
A
ArrayList
B.
LinkedList
C.
TreeSet
D.
HashSet
6.
( C )。( )
Set s=new HashSet();
s.add("abc");
s.add("abc");
s.add("abcd");
s.add("ABC");
System.out.println(s.size());
A.
1
B.
2
C.
3
D.
4
7.
Java , ( C )。( )
public class Test {
public static void main(String[] args) {
Map map = new HashMap();
String s = "code";
map.put(s, "1");
map.put(s, "2");
System.out.println(map.size());
}
}
A
B.
C.
, :1
D.
, :2
8.
, ( C )。( )
A.
Vector
B.
ArrayList
C.
HashMap
D.
Hashtable
9.
Java ,LinkedList ArrayList , ( CD ) LinkedList ArrayList 。( )
A
add(Object o)
B.
add(int index,Object o)
C.
getFirst()
D.
removeLast()
3. 판단 문제
1. 배열 과 집합 에 있 는 요 소 는 기본 형식 과 참조 형식 을 포함 하여 모든 데이터 형식 일 수 있 습 니 다. (F) 2. 자바 집합 에 있 는 Set 인터페이스 와 List 인 터 페 이 스 는 Collection 인터페이스 에서 파생 됩 니 다. (T) 3. Collection 인 터 페 이 스 는 유일 하지 않 고 질서 있 는 대상 을 저장 합 니 다. 두 개의 인터페이스 가 있 습 니 다. List 와 Set. (F)4. Collection 은 자바 집합 최상 위 인터페이스 로 요소 가 무질서 하고 유일 합 니 다. 자바 플랫폼 은 이 인 터 페 이 스 를 직접적 으로 구현 하지 않 습 니 다. (F) 5. List 는 질서 있 는 Collection 입 니 다. 이 인 터 페 이 스 를 사용 하면 모든 요소 가 삽 입 된 위 치 를 정확하게 제어 할 수 있 습 니 다. 사용 자 는 색인 을 사용 하여 List 의 무소 에 접근 할 수 있 습 니 다. 이것 은 자바 의 배열 과 유사 합 니 다. (T)6. HashSet 은 해시 테이블 저장 구 조 를 사용 하여 조회 속도 가 빠 르 지만 그 중에서 요소 가 무질서 하 게 배열 되 어 있 는 것 이 특징 입 니 다. (T) 7. LinkedHashMap 은 질서 있 는 HashMap 으로 조회 속도 가 빠 르 고 삭제 작업 을 추가 하기 쉽 습 니 다. (T) 8. 기본 데이터 형식의 값 은 Vector 대상 에 직접 저장 할 수 있 습 니 다. (F)9. Dictionary 는 키워드 와 값 의 맵 을 만 들 었 습 니 다. 하나의 키 워드 를 제공 하면 Dictionary 는 해당 하 는 값 을 되 돌려 줍 니 다. (T) 10. 범 형 은 JavaSE 1.7 의 새로운 특성 입 니 다. 범 형의 본질은 매개 변수 화 형식 입 니 다. 즉, 작 동 하 는 데이터 형식 이 하나의 매개 변수 로 지정 되 었 습 니 다. 자바 언어 가 범 형 을 도입 하 는 장점 은 안전 하고 간단 합 니 다. (F)11. Collection 은 집합 을 전문 적 으로 다 루 는 도구 클래스 로 일련의 정적 방법 을 제공 하여 각종 집합 작업 을 수행 합 니 다. (F) 12. Iterator 인 터 페 이 스 는 Collection 인터페이스의 실현 클래스 를 옮 겨 다 닐 수 있 습 니 다. 하나의 Collection 에서 iterator () 방법 으로 교체 기 를 가 져 올 수 있 습 니 다. 교체 기 는 자바 집합 프레임 워 크 의 Enumeration 을 대체 합 니 다. (T)
4. 간단 한 문제 풀이
1.
2. List、Set、Collection、Map 。
3.ArrayList LinkedList 。
4.HashSet ,
5.Vector ArrayList 。
6. HashMap Hashtable ?
5. 부호화 문제
1. List 와 Map 을 사용 하여 여러 도서 정 보 를 저장 하고 옮 겨 다 니 며 출력 합 니 다. 그 중에서 상품 속성: 번호, 이름, 단가, 출판사, 상품 번 호 를 Map 의 key 로 사용 합 니 다.
public class Book
{
public int id;
public String name;
public double price;
public String press;
public Book()
{
super();
}
public Book(int id, String name, double price, String press)
{
super();
this.id = id;
this.name = name;
this.price = price;
this.press = press;
}
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public double getPrice()
{
return price;
}
public void setPrice(double price)
{
this.price = price;
}
public String getPress()
{
return press;
}
public void setPress(String press)
{
this.press = press;
}
@Override
public String toString()
{
return "Book [id=" + id + ", name=" + name + ", press=" + press
+ ", price=" + price + "]";
}
}
public class TestListMap
{
public static void main(String[] args)
{
Book b1 = new Book(1000, "b1", 30.5, "bjsxt");
Book b1_1 = new Book(1000, "b1", 30, "bjsxt");
Book b2 = new Book(1000, "b2", 50, "bjsxt");
Book b3 = new Book(1001, "b3", 30.5, "bjsxt");
Book b4 = new Book(1002, "b4", 30.5, "bjsxt");
Book b5 = new Book(1003, "b5", 50, "bjsxt1");
// HashSet
List bookList = new ArrayList();
bookList.add(b1);
bookList.add(b1);
bookList.add(b2);
bookList.add(b3);
bookList.add(b4);
bookList.add(b5);
bookList.add(b1_1);
System.out.println(" hashset");
System.out.println(bookList.size());
for (Book book : bookList)
{
System.out.println(book.toString());
}
// TreeSet
Map bookMap = new HashMap();
bookMap.put(b1.getId(), b1);
bookMap.put(b1.getId(), b1);
bookMap.put(b2.getId(), b2);
bookMap.put(b3.getId(), b3);
bookMap.put(b4.getId(), b4);
bookMap.put(b5.getId(), b5);
bookMap.put(b1_1.getId(), b1_1);
System.out.println(" treeset");
for (Entry entry : bookMap.entrySet())
{
System.out.println(entry.getKey() + "----------->" + entry.getValue());
}
}
}
2. HashSet 과 TreeSet 을 사용 하여 여러 개의 상품 정 보 를 저장 하고 옮 겨 다 니 며 수출 한다. 그 중에서 상품 속성: 번호, 명칭, 단가, 출판사, 그 중에서 똑 같은 상품 을 여러 개 추가 하고 집합 중의 요소 의 유일 성 을 검증 해 야 한다.
알림: HashSet 에 사용자 정의 클래스 의 대상 정 보 를 추가 하려 면 hashCode 와 equals () 를 다시 써 야 합 니 다.
TreeSet , Comparable ,
public class Book implements Comparable
{
public int id;
public String name;
public double price;
public String press;
public Book()
{
super();
}
public Book(int id, String name, double price, String press)
{
super();
this.id = id;
this.name = name;
this.price = price;
this.press = press;
}
public int compareTo(Book o)
{
return this.id - o.id;
}
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + id;
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + ((press == null) ? 0 : press.hashCode());
long temp;
temp = Double.doubleToLongBits(price);
result = prime * result + (int) (temp ^ (temp >>> 32));
return result;
}
@Override
public boolean equals(Object obj)
{
if (this == obj)
{
return true;
}
if (obj == null)
{
return false;
}
if (getClass() != obj.getClass())
{
return false;
}
Book other = (Book) obj;
if (id != other.id)
{
return false;
}
if (name == null)
{
if (other.name != null)
{
return false;
}
} else if (!name.equals(other.name))
{
return false;
}
if (press == null)
{
if (other.press != null)
{
return false;
}
} else if (!press.equals(other.press))
{
return false;
}
if (Double.doubleToLongBits(price) != Double
.doubleToLongBits(other.price))
{
return false;
}
return true;
}
@Override
public String toString()
{
return "Book [id=" + id + ", name=" + name + ", press=" + press
+ ", price=" + price + "]";
}
}
public class TestSet
{
public static void main(String[] args)
{
Book b1 = new Book(1000, "b1", 30.5, "bjsxt");
Book b1_1 = new Book(1000, "b1", 30, "bjsxt");
Book b2 = new Book(1000, "b2", 50, "bjsxt");
Book b3 = new Book(1001, "b3", 30.5, "bjsxt");
Book b4 = new Book(1002, "b4", 30.5, "bjsxt");
Book b5 = new Book(1003, "b5", 50, "bjsxt1");
// HashSet
Set hashSet = new HashSet();
hashSet.add(b1);
hashSet.add(b1);
hashSet.add(b2);
hashSet.add(b3);
hashSet.add(b4);
hashSet.add(b5);
hashSet.add(b1_1);
System.out.println(" hashset");
System.out.println(hashSet.size());
for (Book book : hashSet)
{
System.out.println(book.toString());
}
// TreeSet
Set treeSet = new TreeSet();
treeSet.add(b1);
treeSet.add(b1);
treeSet.add(b2);
treeSet.add(b3);
treeSet.add(b4);
treeSet.add(b5);
treeSet.add(b1_1);
System.out.println(" treeset");
for (Book book : treeSet)
{
System.out.println(book.toString());
}
}
}
3. List 와 Map 데이터 의 전환 을 실현 합 니 다. 구체 적 인 요 구 는 다음 과 같 습 니 다.
기능 1: 정의 방법 Public void listToMap () {} List 에서 Student 요 소 를 Map 에 패키지 합 니 다.
1. 구조 방법 을 사용 하여 Student (int id, String name, int age, String sex) 에서 여러 학생 정 보 를 만 들 고 List 를 추가 합 니 다.
2. List 를 옮 겨 다 니 며 모든 학생 정 보 를 출력 합 니 다.
3. List 의 데 이 터 를 Map 에 넣 고 Student 의 id 속성 을 key 로 하고 Student 대상 정 보 를 value 로 사용 합 니 다.
4 맵 을 옮 겨 다 니 며 모든 Entry 의 key 와 value 를 출력 합 니 다.
기능 2: 정의 방법 Public void mapToList () {} 맵 에 있 는 Student 맵 정 보 를 List 에 패키지 합 니 다.
1. 실체 류 Student Entry 를 만 들 고 Map 의 모든 Entry 정 보 를 저장 할 수 있 습 니 다.
2 구조 방법 Student (int id, String name, int age, String sex) 을 사용 하여 여러 학생 정 보 를 만 들 고 Student 의 id 속성 을 key 로 사용 하여 Map 에 저장 합 니 다.
3. List 대상 을 만 듭 니 다. 각 요소 유형 은 Student Entry 입 니 다.
4 지도 에 있 는 모든 엔트리 정 보 를 List 대상 에 넣는다.
public class TestListToMap
{
public void listToMap()
{
//1.
Student stu1 = new Student(110, " ", 23, 98.0);
Student stu2 = new Student(111, " ", 21, 80.5);
Student stu3 = new Student(112, " ", 12, 93.0);
//2. List
List list = new ArrayList();
list.add(stu1);
list.add(stu2);
list.add(stu3);
//3. List, Student
for (Student stu : list)
{
System.out.println(stu);
}
//4. List Map, Student id key Map map = new HashMap();
Iterator it = list.iterator();
while (it.hasNext())
{
Student stu = it.next();
map.put(stu.getId(), stu);
}
//5. Map, Entry key value
Set> entrySet = map.entrySet();
for (Entry entry : entrySet)
{
System.out.println(entry.getKey() + "---->" + entry.getValue());
}
}
}
public class StudentEntry
{
private int key;//
private Student stu;//
public int getKey()
{
return key;
}
public void setKey(int key)
{
this.key = key;
}
public Student getStu()
{
return stu;
}
public void setStu(Student stu)
{
this.stu = stu;
}
}
public class TestMapToList
{
public void mapToList()
{
//1.
Student stu1 = new Student(110, " ", 23, 98.0);
Student stu2 = new Student(111, " ", 21, 80.5);
Student stu3 = new Student(112, " ", 12, 93.0);
//2. Student id key, Map
Map map = new HashMap();
map.put(stu1.getId(), stu1);
map.put(stu2.getId(), stu2);
map.put(stu2.getId(), stu3);
//3. List , StudentEntry
List list = new ArrayList();
//4. Map List
for (Entry entry : map.entrySet())
{
StudentEntry studentEntry = new StudentEntry();
// map , studentEntry
studentEntry.setKey(entry.getKey());
studentEntry.setStu(entry.getValue());
// studentEntry List
list.add(studentEntry);
}
//5. Map
for (StudentEntry se : list)
{
System.out.println(se.getKey() + "\t" + se.getStu());
}
}
}
6. 선택 가능 한 문제
1. email “[email protected],[email protected],[email protected],..” email , HashMap?
public class EmailSplit
{
public static void main(String[] args)
{
String str = "[email protected],[email protected],[email protected]";
// email
String strs[] = str.split(",");
// email
Map emailMap = new HashMap();
for (String email : strs)
{
String temp[] = email.split("@");
// email map
emailMap.put(temp[0], temp[1]);
}
System.out.println(emailMap.toString());
}
}
2. 콘 솔 에서 고정된 형식 으로 학생 정 보 를 입력 합 니 다. 학 번, 이름, 연령 정 보 를 포함 하고 입력 한 내용 이 exit 로 종료 되 며 입력 한 학생 정 보 를 각각 한 Student 대상 에 밀봉 한 다음 에 모든 Student 대상 을 하나의 집합 에 넣 고 집합 중의 요 소 를 연령 에 따라 정렬 하도록 요구 합 니 다. 마지막 으로 집합 을 옮 겨 다 니 며 중 학생 정 보 를 모 아 씁 니 다.수첩 에 들 어가 면 모든 학생 데이터 가 한 줄 을 차지한다.
추천 절차:
a) Student 클래스 를 만 들 고 나이 순 으로 정렬 하기
b) 콘 솔 을 통 해 다양한 학생 정 보 를 입력 합 니 다.
c) 문자열 에서 해당 정 보 를 추출 하여 Student 대상 에 넣 고 Student 를 집합 에 추가
d) 집합 과정 을 옮 겨 다 니 며 학생 들 의 정 보 를 수첩 에 입력 한다.
난점:
e) 어떻게 학생 을 나이 순 으로 배열 할 것 인 가 를 지정 합 니까?
f) 문자열 '번호 \ # 이름 \ # 나이' 에서 학생 정 보 를 추출 하면
g) 어떤 집합 을 넣 으 면 학생 들 이 나이 에 따라 정렬 할 수 있 습 니까?
h) 어떻게 중 학생 정 보 를 모 아 수첩 에 기록 하 는 지, 모든 학생 데이터 가 한 줄 을 차지 합 니 다.
public class Student implements Comparable
{
private Integer num;
private String name;
private Integer age;
// getter setter
//
public int compareTo(Student stu)
{
return this.age - stu.age;
}
public String toString()
{
return "Student [age=" + age + ", name=" + name
+ ", num=" + num + "]";
}
}
public class Test
{
public static void main(String[] args)
{
// set
Set stuSet = saveStudentInfo();
// set
Iterator it = stuSet.iterator();
while (it.hasNext())
{
String info = it.next().toString();
System.out.println(info);
}
}
private static Set saveStudentInfo()
{
Scanner input = new Scanner(System.in);
// TreeSet
Set stuSet = new TreeSet();
while (true)
{
//
System.out.println(" :( # # )");
String inputData = input.nextLine();
// inputData.equals("exit")
if ("exit".equals(inputData))
{
break;
}
// String[]
String[] info = inputData.split("#");
// Student
Student stu
= new Student(Integer.parseInt(info[0]), info[1],
Integer.parseInt(info[2]));
//
stuSet.add(stu);
}
return stuSet;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.