集合框架—List & Iterator
集合框架---List & Iterator
1.使用条件

1.不知道有多少对象需要运行

2.(或者)需要复杂的方式存储

2.位于java.util包中的一些类和接口
集合框架---List & Iterator

Map【接口】
*
(1)HashMap【类】
*
(2)TreeMap【类】
*
Collection【接口】: 存储一组不唯一,无序的对象{通用方法如下}
*
1.add(Object o)【返回boolean】,在列表的末尾开始添加,起始索引为0
*
2.size()【返回 int】,列表中元素的个数
*
3.contains(Object o)【boolean】,判断列表中是否存在指定元素
*
4.remove(Object o)【boolean】,列表中删除指定元素
*
5.clear(),将集合清空
*
6.isEmpty() 【boolean】,判断集合是不是空
*
7.iterator(),返回迭代器
*
8.toArray(),把集合变成一个序列 例:Object [ ] arr=coll.toArray( );
*
List【接口】: 存储一组不唯一,有序的对象
*
ArrayList【类】: 长度可变的数组【遍历元素和随机访问元素】{ArrayList特有方法如下}
*
1.add(Object o)【返回boolean】,在列表的末尾开始添加,起始索引为0
*
2.size()【返回 int】,列表中元素的个数
*
3.contains(Object o)【boolean】,判断列表中是否存在指定元素
*
4.remove(Object o)【boolean】,列表中删除指定元素

*
5.add(int indet,Object o)【返回void】,在指定位置添加元素
*
6.get (int index)【Object】,列表指定位置取出元素,使用前要强制类型转换
*
7.remove(int index)【Object】,列表中删除指定位置的元素
*
LinkedList【类】: 链表的存储方式【插入和删除元素】{LinkedList特有方法如下}
*
1.addFirst(Object o)【 void】, 在列表首位添加元素
*
2.addLast(Object o)【 void】, 在列表末位添加元素
*
3.getFirst(Object o)【 Object】, 返回在列表首位的元素
*
4.getLast(Object o)【Object】, 返回在列表末位的元素
*
5.removeFirst(Object o)【 Object】, 删除在列表首位的元素
*
6.removeLast(Object o)【Object】, 删除在列表末位的元素
*
Vector【类】
*
Set【接口】:存储一组唯一,无序的对象
*
存放对象引用,采用对象的equals()方法对两个对象比较,没有get方法(无序没有索引值,无法获取)
*
获取元素的方式1.增强型的for 2.iterator迭代器
*
HashSet【类】
LinkedHashSet【类】
TreeSet【类】

Iterator【接口】(遍历的时候都可以使用):Iterator【接口】使用必须是实现类对象;Collection【接口】方法iterator()返回值为实现类对象
*
存储一组键值对象,提供key(唯一的)到value的映射
*
1.获得迭代器,通过iterator方法获得迭代器 例:Iterator itor=set.iterator(); //获得迭代器 itor
*
2.迭代器.hasNext 判断是否有下一个元素【返回值为boolean】 例:itor.hasNext()
*
3.next方法获取元素 【返回值 Object】 例:NewTitle t=(NewTitle)itor.next();

3.Collections【工具类】: 对集合进行遍历,排序多种算法的实现

例:

例:新闻类管理系统
新闻类-------------------------------------------------------------------------------------------------------------------

packagecn.com.Abner.list;
//新闻标题类
public class NewTitle {
     //新闻ID,内容,作者
     private int ID;
     private String title;
     private String author;
     
     public NewTitle() {
          
     }
     public NewTitle(int iD, String title, String author) {
          this.ID = iD;
          this.title = title;
          this.author = author;
     }
     public int getID() {
          return ID;
     }
     public void setID(int iD) {
          ID = iD;
     }
     public String getTitle() {
          return title;
     }
     public void setTitle(String title) {
          this.title = title;
     }
     public String getAuthor() {
          return author;
     }
     public void setAuthor(String author) {
          this.author = author;
     }
     
}

新闻管理类-------------------------------------------------------------------------------------------------------------------
ArrayList+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

package cn.com.Abner.list;

import java.util.ArrayList;

import java.util.Iterator;

//新闻管理
public class ArrayListDemo {
    public static void main(String[] args) {
        //集合存储多条新闻标题
        NewTitle t1=new NewTitle(1,"A","A1");
        NewTitle t2=new NewTitle(1,"B","B1");
        NewTitle t3=new NewTitle(1,"C","C1");
        NewTitle t4=new NewTitle(1,"D","D1");
        NewTitle t5=new NewTitle(1,"E","E1");
        
        ArrayList T=new ArrayList();
        T.add(t1);        //将元素放入集合中
        T.add(t2);
        T.add(t3);
        T.add(t4);
        
        System.out.println("新闻标题的总数为:"+T.size());        //集合长度
        
        //遍历list,取出每条新闻的题目
        for(int i=0;i<T.size();i++) {
            NewTitle t=(NewTitle)T.get(i);             //取出元素(新闻标题)
            System.out.println(t.getTitle());
        }
            
        System.out.println();
        System.out.println("---------------------------------------------------");
        for(Object obj:T) {
            NewTitle t=(NewTitle)obj;
            System.out.println(t.getTitle());
        }
        
        System.out.println("-------------------------------------------------------");
        Iterator itor=T.iterator();                    //Iterator迭代器
        
        while(itor.hasNext()) {                        //判断下一个是否有元素
            NewTitle t=(NewTitle)itor.next();          //获取元素
            System.out.println(t.getTitle());
        }

        System.out.println("---------------------------------------------------------");
        T.clear();                //清空集合
        System.out.println(T.size());    
    }

}

LinkeList++++++++++++++++++++++++++++++++++++++++++++++++

packagecn.com.Abner.list;
import java.util.LinkedList;
public class LinkeListDemo {
     public static void main(String[] args) {
          //集合存储多条新闻标题
          NewTitle t1=new NewTitle(1,"A","A1");
          NewTitle t2=new NewTitle(2,"B","B1");
          NewTitle t3=new NewTitle(3,"C","C1");
          NewTitle t4=new NewTitle(4,"D","D1");
          NewTitle t5=new NewTitle(5,"E","E1");
          
          LinkedList T=new LinkedList();
          
          T.add(t1);    //元素放到集合中
          T.add(t2);
          T.add(t3);
          T.add(1, t4);  //第一个位置放t4
          T.addFirst(t5);
          System.out.println(T.size());
          
          //遍历集合
          for(int i=0;i<T.size();i++) {
              NewTitle t=(NewTitle)T.get(i);
              System.out.print(t.getTitle()+" ");
          }
          System.out.println();
          System.out.println("------------------------------------");
          for(Object obj:T) {
              NewTitle t=(NewTitle)obj;
              System.out.println(t.getTitle()+" ");
          }
     }
}

相关文章:

  • 2021-11-23
  • 2021-11-19
  • 2022-12-23
  • 2021-06-30
  • 2021-06-24
  • 2021-11-09
  • 2021-06-22
  • 2021-08-04
猜你喜欢
  • 2021-12-28
  • 2021-05-24
  • 2021-07-13
  • 2021-11-21
相关资源
相似解决方案