Java集合框架---浅理解

java的集合框架

什么是Java集合框架

Java集合框架:Java提供了一套性能优良,使用方便的接口和类,方便程序员使用集合定义的一系列方法。java集合框架位于java.util包中, 所以当使用集合框架的时候需要进行导包。作为初学者,我们只需要简单的理解一下就可了

集合框架中常见的几种接口

1:Collection 接口,存储一组不唯一,没有顺序的元素(并且Collection 一般不提供自己的接口,只提供继承于的子接口(如List和set)。这也就是为什么不同的java编译器编译不过去的原因(例如eclipse)
2:List接口,是一个有序的Collection接口,存储的是一组有序的、不唯一的对象
3:Set 具有Collection完全一样的接口,但是行为不一样,Set接口实现的是一组无序的,唯一的集合
4:SortedSet:是一个有序的Set接口
(其实很容易理解,集合接口分为两类,一类是不唯一的(有序和无序:List和Collection),另一类是唯一的(有序和无需:Sortedset和set)

接口的举例

因为接口是一种抽象的类,需要有具体的类来实现它里面的具体的方法
例如:定义一个接口,实现求面积和求周长的功能的功能

public interface J_SLA {  //接口中的方法都是abstract
        public abstract  double get_L(); //求周长
        public abstract double get_S();  //求面积
        public abstract void  p_L();  //显示周长
        public abstract void  p_s();   //显示面积
    }

以上就是简单的接口的定义
//使用具体的类来实现接口

public class Circle implements J_SLA
{
   private double r;
   //这里还需要使用source->setter和getter自动生成属性的相关的设置方法
    public Circle()
    {
        r=0;
    }
    public Circle(double a)
    {
        r=a;
    }
    public double get_L()
    {
        return 2*Math.PI*r;
    }
    public double get_S()
    {
        return Math.PI*r*r;
    }
    public void p_L()
    {
        System.out.println("圆的周长是"+get_L());
    }
    public void p_s()
    {
        System.out.println("圆的面积是"+get_S());
    }
}

在主类当中使用

public class Main_Class
{
    public static void main(String[] args)
    {
        J_SLA kk = new Circle(4);
        kk.p_L();
        kk.p_s();
    }
}

如上,就是接口的实现类的一个简单的举例,同样的,java中的集合框架中提供的接口也是基于以上思路来实现的

Java集合框架的实现类

1:ArrayList
该类也是实现了List的接口,实现了可变大小的数组,随机访问和遍历元素时,提供更好的性能
回忆一下,List接口时一个有序的元素不唯一的一个接口
2:HashSet
该类实现了Set接口,不允许出现重复元素,不保证集合中元素的顺序,允许包含值为null的元素,但最多只能一个
回忆一下,Set接口时无序的,元素唯一的接口
Java当中有很多的集合框架的实现类,这里就举例两个学习当中经常需要用到的两个具体的实现类

举例

  1. Set的实现类Hashset
import java.util.HashSet;
import java.util.Set;  //导入
//统计一句话当中的单词数,不包括重复的单词
public class Hashset1 
{
	public static void main(String[] args)
	{
		Set<String> a=new HashSet<>();  //Set:接口,HashSet:Set接口具体实现的类
		//还有一种创建对象的方法
		//HashSet<String> a=new HashSet<>()
		String srt="Hello! Hello! I am 01.What is your name?";
		String[] st=srt.split("[^a-zA-Z]");
		for(String str:st)
		{
			a.add(str);  //使用java中的foreach语句,将数组当中的每一个元素加入到集合对象a当中
		}
		System.out.println(a.size());
	}

}

以上就是具体的实现方法,具体还可以根据具体的情况实现代码的优化
可以参考这篇博客:Java集合类框架

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值