数据结构

数组和集合

-1 数组:
有固定长度 ,存放统一类型数据

 int[] all = {1,2,3};

-2 集合
大小可动态扩展,可以存储各种类型的数据

ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("tian");
        arrayList.add("jian");

开发常用集合

(1)ArrayList
可动态添加元素,移除元素
1.添加元素时.其他元素位置不变,会申请开辟一块内存空间和一个新索引,将元素添加进去.
2.在插入元素时,会申请开辟一块内存空间和一个新索引,新元素会插入到指定索引位置.然后索引之后所有元素都向后移动.删除同理.所以很浪费时间。
所以该实现只是适用于随机访问元素或者遍历元素,因为他的底层是由数组来实现的.不建议频繁进行插入和删除操作
不建议在多线程中操作ArrayList,它是不安全线程

    ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("tian");
        arrayList.add("jian");
        arrayList.remove(1);

(2)LinkedList 双向链表
双向链表:就向5个人手拉手围成一个圈,成员只知道自己的左右是谁.直接上图说不清楚

Selection_037.png

需要插入一个成员时,直接找到要插入节点的位置,插入数据.删除同理.
优化:双向链表长度的1/2,则从前向后查找; 否则,从后向前查找。
LinkedList的链式线性表的优点: 适合于在链表中间需要频繁进行插入和删除操作。
LinkedList的链式线性表的缺点: 随机访问速度较慢。查找一个元素需要从头开始一个一个的找


List,Set,Map的区别

(1)List 列表
元素以线性方式存储,可以存放重复对象
ArrayList,LinkedList.
(2)Set集合
Set中的对象不按特定方式排序,并且没有重复对象.
HashSet: 不能重复存储equals相同的数据.无序

 HashSet hashSet = new HashSet();
        hashSet.add(4);
        hashSet.add(3);
        hashSet.add(2);
        hashSet.add(1);
        hashSet.add(3);
        hashSet.size();
        Iterator iter = hashSet.iterator();
        for (int i = 0; hashSet.size() > i; i++) {
            Log.i("HashSet", "" + iter.next());
        }

I/HashSet: 4
I/HashSet: 1
I/HashSet: 2
I/HashSet: 3

TreeSet :它可以保证对象元素唯一,存取无序,线程不安全,效率高,同时还可以对存放在其中的对象进行排序,默认时integer类型。

public class CompareString implements Comparator<String> {

    @Override
    public int compare(String o1, String o2) {
        int i = o1.length() - o2.length();
        return i == 0 ? o1.compareTo(o2) : i;
    }
}
 TreeSet treeSet = new TreeSet<>(new CompareString());
        treeSet.add("2");
        treeSet.add("1123");
        treeSet.add("122667");
        treeSet.add("4s");
        treeSet.add("12532");
        treeSet.add("5wr");
        treeSet.add("22345667");
        Log.i("TreeSet", "" + treeSet);

I/TreeSet: [2, 4s, 5wr, 1123, 12532, 122667, 22345667]

(3)Map映射
HashMap是一种把键对象和值对象映射的集合,每一个元素都包含一个键对象和值对象.
HashMap最多只允许一条记录的键key为null.

  HashMap map = new HashMap();
        map.put("",0);
        map.put("1","1");
        map.put("2",2);
        map.put("3",3);

onActivityResult

从主Aactvity到子Bactiviy,在B获取到数据,结束B,回到A把拿到数据
1.startActivityForResult(Intent intent, int requestCode);

//MainActivity
Intent intent = new Intent(MainActivity.this, BActivity.class);
                startActivityForResult(intent, 2);

A启动B时调用,requestCode 记录.从那个activity跳转的;
2.setResult(int resultCode, Intent data)
在B页面完成操作后结束前调用

  //BActivity
  Intent intent = new Intent(BActivity.this, MainActivity.class);
                intent.putExtra("zs","ls123");
                BActivity.this.setResult(22,intent);
                finish();

resultCode,记录子页返回的
3.onActivityResult(int requestCode, int resultCode, Intent data)
在主Aactivity 重写onActivityResult 重写

 @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        Log.i("MainActivity","requestCode*********"+requestCode);
        Log.i("MainActivity","resultCode----------------"+resultCode);
        Log.i("MainActivity","intent ====== \n"+data.getStringExtra("zs"));
    }

 I/MainActivity: requestCode*********2
 I/MainActivity: resultCode----------------22
 I/MainActivity: intent ======  ls123

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,444评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,421评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,363评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,460评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,502评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,511评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,280评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,736评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,014评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,190评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,848评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,531评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,159评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,411评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,067评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,078评论 2 352

推荐阅读更多精彩内容