今天 群里一个老鸟为了我一个问题 搞得我很不好意思,他说只要能答对他这个问题就能够在IT行业背景地区拿到4K-5K以上的薪资我是一个刚接触java不太久的草级别的程序员连ssh都没学完
今天在配置Hibetnate的时候出现了点问题 向他请教 他们都给我讲框架都是浮云让我学好基础可是现在的面试题基本上都哟一个要求就是数学ssh的框架 为了以后的工资这是活生生的给逼死了 啊
好了废话就到这里吧 接下来就上菜了
list<String> pp=new ArrayList<String>();
pp.add("a");
pp.add("b");
pp.add("c");
pp.add("d");
pp.add("a");
问题是如何去掉重复的内容
当然第一眼看到的时候 直接一个答案 remove就ok了
然后他说 那么接下来就 才是正题如果你的领导给了你一个数据量很多的数据这个时候你该这怎么去掉这些数据里面重复的数据
大当时我的脑子就有点懵了,怎么去掉
当时脑子里的第一个方法是
1.全部打印出来然后去掉然后进行if ,equest进行比较 可是 这个比较要怎么进行比较了拿什么比较了当时就晕了
后来就有问了一个群里的大虾 他给我说set 当时还没反应过来过一会才回过意了
1.首先申明一个set集合
Set<String>aa=new HashSet<String>();
for(int i=0;i
aa.add(pp.get[i]);
}
这样就解决了所有的问题!!!!
所有晚上我就把集合框架的教程重新看了一遍
首先框架有两个重要的接口
Collection 接口和M ap接口
List接口Set接口HashMapTreeMap
HashLinkelist
ArrayListLinkeListhashSetTreeSet
HashLinkelist
首先我们先来说先 Collection接口 他是下面所有的接口的父接口下面的的类要实现方法都必须基础这个接口
1.list接口 是可以存储一组有序但是可以重复的对象。所有实现了list接口的类所以存储的的对象是有顺序的并且它的结构是数组结构 在我们做 随机访问的时候 和遍历它的效率 非常高的
2. LinkeLIst采用的是链式的数据结构所有想这种结构的集合做插入和删除的时候效率是非常高的但是在做查询的时候是不建议采用的他还有一个优点是用户可以任意的插入数据并且可以界定它的位置addFists第一个位置aalast 最后的额位置添加 这些 记得老师当场建议别用 因为容易出问题
3.下面就是Set接口了
set接口下面的hashset插入的数据是 无序的它的顺序曲解于内部的存储结构并且不可以重复至于用户想实现有序的排列 那么这个接口是无法实现的SortedSet
至于其他的两个集合没用过所有也没去了解
HashMap 这个有用过 它是做索引的时候非常哈用应为他是键值对的类型 key是无序但是不可以重复的
value 是可以重复的 一个key对于一个值 所以程序员们都用它来做索引的
为何是一个人?也有善意的提醒: