자바 고급 시험 문제 복습 문제 2 - 자바 용기 문제 집

18752 단어
1. 괄호 넣 기 문제
1. 자바 집합 프레임 워 크 는 성능 이 우수 하고 사용 하기에 편리 한 인터페이스 와 클래스 를 제공 합 니 다. Collection 과 Map 두 가지 유형 을 포함 하여 모두 (java. util) 가방 에 있 습 니 다. 2. 대기 행렬 과 스 택 은 약간 비슷 합 니 다. 다른 점 은 (스 택 은 선진 적 인 것 이 고 대기 행렬 은 선진 적 인 것 입 니 다.)
  • (링크 리스트) 구 조 는 여러 노드 로 구 성 된 선형 데이터 구조 이 고 각 노드 는 데이터 와 다음 노드 를 가리 키 는 인용 을 포함한다. 4. ( LinkedList) 는 집합 류 로 링크 를 저장 구조 로 하여 요 소 를 삭제 하고 추가 하기 쉽 지만 색인 에 따라 요 소 를 조회 하 는 효율 이 낮다.
  • (TreeSet) 은 Collection 유형의 집합 류 로 그 중에서 요소 가 유일 하 며 이 진 트 리 를 저장 구조 로 하고 요 소 는 자연 순서에 따라 배열 합 니 다. 6. 사용자 정의 클래스 Student 의 여러 대상 을 집합 TreeSet 에 넣 고 모든 요 소 를 특정한 속성의 자연 순서에 따라 배열 하려 면 Student 클래스 구현 (Comparable) 이 필요 합 니 다.인터페이스. 7. 자바 에서 (HashMap) 집합 하 는 접근 시간 이 안정 에 가 깝 습 니 다. 이 데이터 구 조 는 배열 을 통 해 이 루어 집 니 다. 교체 기 Iterator 는 집합 을 위해 생 겨 났 으 며, 집합 을 전문 적 으로 실현 합 니 다. 이 인 터 페 이 스 는 hasNext (), (next (), remove () 로 나 뉘 는 세 가지 방법 이 있 습 니 다.
  • 선택 문제
    
    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;
        }
    }
    

    좋은 웹페이지 즐겨찾기