java自定义集合类
来源:互联网 发布:人工智能方面的杂志 编辑:程序博客网 时间:2024/05/29 19:25
最近在写一些简单的小程序,开始大量使用集合 类里要用的集合比较多的时候的声明感觉很麻烦(实际上如果有自定义类有放入集合的需求时自定义集合最方便( ̄▽ ̄)/),就准备自己定义集合类拿来用。
比如 常规的特定对象集合是这样的:
List<Cat> cats = new List<Cat>(); cats.Add(cat);
很简单是不是, 但是如果需要创建好几个这样的集合,< Cat>看起来就比较烦。更重要的是 ,根据对象A的特点和用户需求,我们会希望对应的集合能执行一些特殊操作(查重,排序,默认值神马的)。这时候就可以考虑对集合再进行一层封装
public class Cats{ /// 封装需要的集合 List<Cat> cats = new List<Cat>(); ///来定义我们需要的方法 public void add(Cat cat) { cats.Add(cat) } ...}
于是原来的对象集合就被我们封装到了一个自定义的类里,原来的代码就可以改为
Cats cats = new Cats();Cats.add(cat);
总之我觉得变好看了(* ̄︶ ̄),
不过这样做也有缺点,直接在类里定义集合时,如果不写获取内部集合的方法,对外部代码来说,List类本身的方法全部被过滤掉了(外部代码:”List是啥,我只认识Cats”)。如果还是需要原来集合的方法,可以用继承或接口来实现
如下(一般用不到接口吧)
public class myList extends ArrayList <String>{ private static final long serialVersionUID = 1L; //自己定义点方法 public void add(int num) { this.add(num+""); }}
然后就可以使用了(得到了一个可以添加int 和 String 的String集合)
myList M = new myList();M.add(1);M.add("hello world");
双例集合同理
public class myMap extends HashMap <String,Object>{ //自己定义点方法 public void put(int num,Object ob) { this.put(num+"",ob); }}
需要注意下要添加泛型的约束(当然不加也行 M< T >extends ArryList < T >)
不过谁让我是想省代码呢 []~( ̄▽ ̄)~*
附上两张图
单例集合和双例集合的简单关系图解
阅读全文
0 0
- java自定义集合类
- Java 自定义Sorted集合
- java集合 自定义排序
- java集合 自定义排序
- Java自定义获取时间段集合
- 集合类自定义排序
- c# 自定义集合类
- 为什么自定义集合类
- c#自定义集合类
- java基础 - 自定义复制(I/O流, 集合 File类)
- 在Java的Set集合中放入自定义类
- Java集合框架官方教程(7):自定义集合类的实现
- Java自定义对象数组、集合排序
- Java集合--自定义泛型实例
- Java集合--自定义受限制泛型实例
- java集合中自定义对象出现次数
- 自定义实现Java中的ArrayList集合
- Java 集合框架ArrayList 储存自定义数组
- Android slider加载网络图片的框架
- TCP/IP四层模型
- HDU 2899 Strange fuction
- hdu-2544-最短路-(bellman-ford、dijkstra、floyd、SPFA算法)
- 杭电oj1090 多个加法
- java自定义集合类
- 手机选择问卷调查分析——PHP与C++进行数据处理
- 51nod 1098 最小方差
- ACM暑假集训日记 17.7.31
- 作用域闭包
- python--输入输出--2017-7-31
- 自动安装虚拟机
- B. Xenia and Hamming----数论入门LCA与GCD的应用
- 1.5 C# 结构体与枚举