5.7*3.2单套间设计平面图怎么设计?

作业08-集合
1. 本周学习总结
以你喜欢的方式(思维导图或其他)归纳总结集合相关内容。
思维导图:
其他-笔记:
2. 书面作业
1. ArrayList代码分析
1.1 解释ArrayList的contains源代码
public boolean contains(Object o) {
return indexOf(o) &= 0;
public int indexOf(Object o) {
//找到元素就返回当前位置,否则返回-1
if (o == null) {
//如果o为null,遍历elementData[]数组,查看是否有为null的对象,有则返回下标没有则返回-1
for (int i = 0; i & i++)
if (elementData[i]==null)
//如果o不为null,用equals()去比较数组elementData[] 是否有与o相同的对象,有则返回下标没有则返回-1
for (int i = 0; i & i++)
if (o.equals(elementData[i]))
return -1;
1.2 解释E remove(int index)源代码
//remove代码
public E remove(int index) {
rangeCheck(index);
//检查是否在范围内
modCount++;
//初始值为0,代表修改的次数
E oldValue = elementData(index);
//被删除的元素存到oldValue中
int numMoved = size - index - 1;
if (numMoved & 0)
System.arraycopy(elementData, index+1, elementData, index,
numMoved);
//移除位置后的元素整体前移一位
elementData[--size] = // clear to let GC do its work
//将原来最后一个数组元素的位置置为null
return oldV
1.3 结合1.1与1.2,回答ArrayList存储数据时需要考虑元素的具体类型吗?
答:不需要,ArrayList在存储数据时,可以将元素类型变成Object类型,故添加不同类型的元素不出错。
1.4 分析add源代码,回答当内部数组容量不够时,怎么办?
public boolean add(E e) {
ensureCapacityInternal(size + 1);
elementData[size++] =
ensureCapacityInternal这个方法是用来判断是否满了,满了就扩充,代码如下:
private void ensureCapacityInternal(int minCapacity) {
if (elementData == DEFAULTCAPACITY_EMPTY_ELEMENTDATA) {
minCapacity = Math.max(DEFAULT_CAPACITY, minCapacity); // DEFAULT_CAPACITY = 10,默认长度为10
ensureExplicitCapacity(minCapacity);
如果elementData是默认长度的空数组,就取默认长度和传入的参数的最大值。
private void ensureExplicitCapacity(int minCapacity) {
modCount++;//调用一次自增一次
// overflow-conscious code
if (minCapacity - elementData.length & 0)
//需要的容量比现有数组长度要大的话
grow(minCapacity);
如果需要的容量比现有数组长度要大的话,就调用grow()方法,以下为其代码:
private void grow(int minCapacity) {
// overflow-conscious code
int oldCapacity = elementData.
int newCapacity = oldCapacity + (oldCapacity && 1);//向右移动一位
if (newCapacity - minCapacity & 0)
newCapacity = minC
if (newCapacity - MAX_ARRAY_SIZE & 0)
newCapacity = hugeCapacity(minCapacity);
// minCapacity is usually close to size, so this is a win:
elementData = Arrays.copyOf(elementData, newCapacity);
1.5 分析private void rangeCheck(int index)源代码,为什么该方法应该声明为private而不声明为public?
private void RangeCheck(int index) {
if (index &= size)
throw new IndexOutOfBoundsException("Index:"+index+",Size:"+size);//抛出异常
比如get、add等方法中有调用private void rangeCheck(int index),但是用户不需要知道和调用这个方法,他们只要能够调用类似add这样的方法即可,所以封装起来不被外部类所调用。
2. HashSet原理
2.1 将元素加入HashSet(散列集)中,其存储位置如何确定?需要调用那些方法?
确定存储位置时,首先需要先计算hashcode的值,锁定要加入的哈希表的位置.
其次,如果该位置没有值,就直接添加进去。
否则用equals()方法判断要加入的值和已存在的值有没有重复,如果没有则添加,有则不添加。
调用到的方法:
hashCode()方法
equals()方法
2.2 将元素加入HashSet中的时间复杂度是多少?是O(n)吗?(n为HashSet中已有元素个数)
将元素加入HashSet中的时间复杂度是O(1)不是O(n),由hash表中的元素是无序的,和2.1的加入方法,可得出此结论。
2.3 选做:尝试分析HashSet源代码后,重新解释2.1
对于HashSet中保存的对象,应该注意equals()和hashCosde()方法的重写,并且源码中可以看出用到了HashMap。
映射的关系:把hashCosde()的计算看做Key,数组元素的值看做value。
3. ArrayListIntegerStack
题集jmu-Java-05-集合之ArrayListIntegerStack
3.1 比较自己写的ArrayListIntegerStack与自己在题集jmu-Java-04-面向对象2-进阶-多态、接口与内部类中的题目自定义接口ArrayIntegerStack,有什么不同?(不要出现大段代码)
在接口内容相同情况下:
04-面向对象的实现类ArrayListIntegerStack中,创建了一个Stack数组,并定义top指针来具体化接口中的方法,实现起来整体代码量冗长繁琐
05-集合的实现类ArrayListIntegerStack中,创建的是ArrayList动态数组,可以自己改变数组的大小,并且在对接口方法的实现上直接调用ArrayList中已有的方法,整体简洁明了,代码量少,增加阅读性。
3.2 结合该题简单描述接口的好处,需以3.1为例详细说明,不可泛泛而谈。
接口的好处:
在本题中可以看出,接口可以只定义而不用写具体内容,这样在继承接口的实现类中就可以根据需求来具体编写代码,更加灵活。
其次如果继承的话,每个子类只能有一个父类,但是接口不同,一个类可以有多个接口,实现起来更加全面。
4. Stack and Queue
4.1 编写函数判断一个给定字符串是否是回文,一定要使用栈(请利用Java集合中已有的类),但不能使用java的Stack类(具体原因自己搜索)与数组。请粘贴你的代码,类名为Main你的学号。
4.2 题集jmu-Java-05-集合之银行业务队列简单模拟(只粘贴关键代码)。请务必使用Queue接口,并说明你使用了Queue接口的哪一个实现类?
使用LinkedList实现类
5. 统计文字中的单词数量并按单词的字母顺序排序后输出
题集jmu-Java-05-集合之5-2 统计文字中的单词数量并按单词的字母顺序排序后输出 (作业中不要出现大段代码)
5.1 实验总结
本题主要利用Set集合,又因为需要按照单词的字母顺序进行排序,所以用TreeSet而不用HashSet.
题目要求输出排序后前十个单词,故可以定义一个count变量进行统计次数,完成输出格式需求。
6. 选做:统计文字中的单词数量并按出现次数排序
题集jmu-Java-05-集合之5-3 统计文字中的单词数量并按出现次数排序(不要出现大段代码)
6.1 伪代码
Map&String,Integer& wordmap = new TreeMap&&();
//创建map对象
if(word.equals("!!!!!")) break
if(map.countiansKey(word))
map.put(word,map.get(word)+1)
map.put(word,1)
//未重复为初始的1
List&Map.Entry&String, Integer&& list = new ArrayList&Map.Entry&String, Integer&&(wordmap.entrySet());
//改成list对象
Collections.sort(list,new Comprartor&Map.Entry&String,Integer&&() )
//对第二个参数进行排序
for(遍历list前十个)
list.get(i).toString() //输出
6.2 实验总结
这道题用的是Map映射,首先要创建一个Map对象。
然后,运用map.countiansKey()方法来判断当前的单词是否已经存在过,如果存在,则在原来个数基础上+1,如果没有,则放入并从一开始计数。
之后,运用Collections的sort方法,对第二个参数对象进行排序。
最后,对前十个单词进行输出,来满足格式上的需求。
7. 选做 面向对象设计大作业-改进
7.1 使用集合类改进大作业或者简述你的面向对象设计大作业中,哪里使用到了集合类。
在存储商品信息中运用了ArrayList
这周因为特殊原因,没有全部用课堂讲的Java集合类进行修改
3.码云及PTA
题目集:jmu-Java-05-集合
3.1. 码云代码提交记录
在码云的项目中,依次选择“统计-Commits历史-设置时间段”, 然后搜索并截图
3.2 截图PTA题集完成情况图
需要有两张图(1. 排名图。2.PTA提交列表图)
3.3 统计本周完成的代码量
需要将每周的代码统计情况融合到一张表中。
阅读(...) 评论()我想装修120平方,3室2厅2卫1厨的套间,想简单的装修,价格在5-7万元,客厅与饭厅用吊顶,3个卧室个装一个衣柜,请各位给我一
答案长度必须超过10个字,请勿发布无效或违法言论。
(共有1个回答)
房间和客厅就不用吊顶了(现在房层都不高)在顶部四边走石膏线就行了;厨房和卫生间里必须要吊顶,你可以用复彩膜塑钢扣板(不沾油、不变色、经济、适用)客厅和房间全部用强化地板(买中档次的)厨房卫生间里的地用瓷砖;柜子嘛你去家具城买成品的,要买好一点的(中高档的)颜色根据你自己喜欢什么颜色来定,家具城里颜色多,你可以多看看,水管和电线也要买好的,这要最好的(因为这是一次性装好的,以后想改动的话就很难的)我估计你七万块钱够用了
这个花不了多少钱,一万块左右吧。现在就是人工费较高
南京市丁家庄保障房价格3室2厅2卫1厨1阳台,140平米,19834.00元/㎡2室2厅1卫1厨,110平米,15670.00元/㎡2室1厅1卫1厨,80平米,
首先这得看您你打算大包还是半包了。半包是指给你家所有的墙面刮大白,刷乳胶漆,地面铺地砖,厨房卫生间贴墙地砖,走水电,客厅及玄关处石膏板造型吊顶,这包括水电的费用
这应该是普通的要价吧,不过要看你是在哪个地区或者城市,一线城市,这肯定是顶便宜的,二三线的话,应该是合理的价格。只是也要看这些东西的做工精细程度吧,如果完成的效
张姐,您好!很高兴为您解答。如果您家里层高够高的话,可以在客厅隔个小跃层;如果客厅不高面积也不太宽敞的话,建议买个功能性的沙发(展开是床,合起来是沙发),如果要
家装电源配电安装、是根据家中用电器的功率、安装区域、使用性能、控制要求来决定的,比如;设计为;每个空间插座单独负载控制、空调单独负载控制、电热水器单独负载控制、
有以下几种户型,如下:1.海峡如意城户型B户型2房2厅1厨1卫80㎡2室2厅1卫80.00㎡2.海峡如意城户型A1户型1房1厅1厨1卫50㎡1室1厅1卫50.0
你好,装修时你首先了解你房子是几个人居住,这样会比较好设计、也更好定风格。90平米小户型装修一般以单身公寓或者平两室一厅为主,别看小小的户型哦。搭配点欧美风格,
113平米房子装修预算(本预算仅供参考)在装修房子之前首先需要对装修档次有所了解。一般8万的属于中低端装修,10万中档装修,10万是中高档了,15万算是高档装修
1渭南好日子搬家公司地址;大荔县西二环联合一巷15号,2渭南吉顺搬家公司地址:渭南临渭渭南市乐天大街3渭南吉祥搬家公司地址:东风大街中段26号这几家公司都是很不
大家都关注
(C)2017 列表网&琼ICP备号-12&增值电信业务经营许可证B2-&

我要回帖

更多关于 套间设计平面图 的文章

 

随机推荐